Bilgisayar Görüşü ile C#'ta Metin Nasıl Bulunur
IronOCR, OCR işleminden önce görüntülerdeki metin bölgelerini otomatik olarak algılamak için OpenCV bilgisayarla görme kullanır. Bu, Tesseract tanımasını yalnızca belirlenen metin alanlarına odaklayarak, gürültülü, çok bölgeli veya bozuk metinlerdeki doğruluğu artırır ve tüm görüntüleri işlemekle kıyaslandığında çıkarım sonuçlarını önemli ölçüde artırır.
Hızlı Başlangıç: Birincil Metin Bölgesini Algıla ve OCR Yap
Bu örnek, anında metin çıkarma işlemini göstermektedir: bir görüntü yükleyin, IronOCR'nin Bilgisayar Görme özelliğini kullanarak FindTextRegion() ile ana metin bölgesini otomatik olarak algılayın, ardından .Read(...) komutunu çalıştırarak metni tek satırda çıkarın.
-
IronOCR aşağıdaki NuGet Paket Yöneticisi ile yükleyin
PM > Install-Package IronOcr -
Bu kod parçacığını kopyalayın ve çalıştırın.
using var result = new IronTesseract().Read(new OcrInput().LoadImage("image.png").FindTextRegion()); -
Canlı ortamınızda test için dağıtım yapın
Ücretsiz deneme ile bugün projenizde IronOCR kullanmaya başlayın
- C#'ta Plaka Nasıl OCR Yapılır (Eğitim)
- C# Eğitiminde Faturadan Metin Nasıl Elde Edilir
- C#'ta Ekran Görüntüsünden Metin Nasıl OCR Yapılır
- C#'ta Altyazılar Nasıl OCR Yapılır (Eğitim)
Asgari İş Akışı (5 adım)
- Bilgisayar Görme ile OCR kullanmak için C# kütüphanesi indirin
FindTextRegionmetodunu kullanarak metin bölgelerini otomatik olarak algıla- Hangi metin bölgesinin
StampCropRectangleAndSaveAsyöntemi ile tespit edildiğini kontrol et FindMultipleTextRegionsyöntemiyle orijinal görüntüyü metin bölgelerine göre görüntülere ayırmak için bilgisayar vizyonunu kullanınGetTextRegionsyöntemini kullanarak metin tespit edilen kırpma alanları listesini alın
IronOcr.ComputerVision'u NuGet Paketi Üzerinden Nasıl Kurarım?
IronOCR'de bilgisayar vizyonu gerçekleştiren OpenCV yöntemleri, normal IronOCR NuGet paketinde görünür. Detaylı kurulum kılavuzu için, NuGet kurulum kılavuzumuza bakın.
IronOCR Neden Ayrı Bilgisayar Görme Paketi Gerektiriyor?
Bu yöntemleri kullanmak için, çözüme IronOcr.ComputerVision'nin NuGet kurulumu gerekir. Eğer kurulum yapılmadıysa, indirilmesi gerektiğine dair bir uyarı alırsınız. Bilgisayar görme işlevselliği, IronOCR'nin plaka tanıma ve pasaport tarama özelliklerinde kullanılan tekniklere benzer şekilde önemli ölçüde metin algılama doğruluğunu artıran OpenCV algoritmalarını kullanır.
Hangi Platforma Özgü Paketi Kurmalıyım?
- Windows:
IronOcr.ComputerVision.Windows- Windows kurulum kılavuzumuza bakın - Linux:
IronOcr.ComputerVision.Linux- Linux kurulum kılavuzumuza göz atın - macOS:
IronOcr.ComputerVision.MacOS- macOS kurulum talimatlarımızı inceleyin - macOS ARM:
IronOcr.ComputerVision.MacOS.ARM
Paket Yöneticisi Konsolu Kullanarak Nasıl Kurarım?
NuGet Paket Yöneticisi kullanarak yükleyin ya da aşağıdakileri Paket Yöneticisi Konsolu'na yapıştırın:
Install-Package IronOcr.ComputerVision.Windows
IronOCR Bilgisayar Görüşü'nü model dosyamızla kullanmak için gerekli derlemeleri sağlar.
IronOCR'da Hangi Bilgisayar Görüşü Metotları Mevcuttur?
Kod örnekleri bu eğitimin ilerleyen kısımlarında yer almaktadır. İşte şu anda kullanılabilir olan metotların genel bir özeti:
| Yöntem | Açıklama |
|---|---|
FindTextRegion |
Metin öğeleri içeren bölgeleri tespit edin ve Tesseract'a yalnızca metin tespit edilen alan içinde arama yapmasını talep edin. |
FindMultipleTextRegions |
Metin öğeleri içeren alanları tespit edin ve sayfayı metin bölgelerine göre ayrı görüntülere ayırın. |
GetTextRegions |
Scans the image and returns a list of text regions as List. |
FindTextRegion Nasıl Kullanarak Metin Alanları Tespit Edilir?
FindTextRegion, OcrInput nesnesinin her sayfasında metin öğeleri içeren bölgeleri tespit etmek için bilgisayar görüşünü kullanır. Bu yöntem, metin dağınık olan görüntüler işlenirken veya sadece metin içeren alanlara odaklanarak performansı artırmak istediğinizde özellikle kullanışlıdır.
Temel FindTextRegion Kullanımı Nedir?
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-1.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindTextRegion();
OcrResult result = ocr.Read(input);
string resultText = result.Text;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
input.LoadImage("/path/file.png")
input.FindTextRegion()
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
IronOcr 2025.6.x içinde kullanımdan kaldırılmıştır ve özel parametreleri kabul etmemektedir.FindTextRegion Parametrelerini Nasıl Özelleştirebilirim?
Metin tespitini ince ayarlamak için bu yöntemi özel parametrelerle çağırın. Bu parametreler, görüntü filtresi yapılandırmalarımız ile benzer şekilde çalışır:
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-2.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindTextRegion(Scale: 2.0, DilationAmount: 20, Binarize: true, Invert: true);
OcrResult result = ocr.Read(input);
string resultText = result.Text;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
input.LoadImage("/path/file.png")
input.FindTextRegion(Scale:= 2.0, DilationAmount:= 20, Binarize:= True, Invert:= True)
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
FindTextRegion Uygulamada Nasıl Gözükür?
Bu örnekte, metin içeren alanlara kırpılacak bir yöntem için aşağıdaki görüntüyü kullanıyorum, ancak girdi görüntüleri metin konumunda farklılık gösterebilir. FindTextRegion kullanarak taramayı Computer Vision'ın metin algıladığı bir alana daraltıyorum. Bu yaklaşım, içerik alanları ve kırpma bölgeleri eğiticimizde kullanılan tekniklere benzerdir. Bu bir örnek görseldir:
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findtextregion-3.cs
using IronOcr;
using IronSoftware.Drawing;
using System;
using System.Linq;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("wh-words-sign.jpg");
// Find the text region using Computer Vision
Rectangle textCropArea = input.GetPages().First().FindTextRegion();
// For debugging and demonstration purposes, lets see what region it found:
input.StampCropRectangleAndSaveAs(textCropArea, Color.Red, "image_text_area", AnyBitmap.ImageFormat.Png);
// Looks good, so let us apply this region to hasten the read:
var ocrResult = ocr.Read("wh-words-sign.jpg", textCropArea);
Console.WriteLine(ocrResult.Text);
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
Imports System.Linq
Private ocr = New IronTesseract()
Private input = New OcrInput()
input.LoadImage("wh-words-sign.jpg")
' Find the text region using Computer Vision
Dim textCropArea As Rectangle = input.GetPages().First().FindTextRegion()
' For debugging and demonstration purposes, lets see what region it found:
input.StampCropRectangleAndSaveAs(textCropArea, Color.Red, "image_text_area", AnyBitmap.ImageFormat.Png)
' Looks good, so let us apply this region to hasten the read:
Dim ocrResult = ocr.Read("wh-words-sign.jpg", textCropArea)
Console.WriteLine(ocrResult.Text)
Metin Bölgesi Tespitini Nasıl Hata Ayıklayıp Doğrularım?
Bu kodun iki çıktısı vardır. İlki, hata ayıklama için kullanılan StampCropRectangleAndSaveAs tarafından kaydedilen bir .png dosyasıdır. Bu teknik, hata ayıklama için metinleri vurgulama rehberimizde de ele alınmıştır. IronCV'nin (Bilgisayar Görüşü) metni tespit ettiği yeri görebiliriz:
Tespit metin alanını doğru bir şekilde tanımlar. İkinci çıktı metnin kendisidir:
IRONSOFTWARE
50,000+
Developers in our active community
10,777,061 19,313
NuGet downloads Support tickets resolved
50%+ 80%+
Engineering Team growth Support Team growth
$25,000+
Raised with #TEAMSEAS to clean our beaches & waterways
Birden Fazla Metin Alanı için FindMultipleTextRegions Nasıl Kullanılır?
FindMultipleTextRegions, bir OcrInput nesnesinin tüm sayfalarını alır ve bilgisayar görüşünü kullanarak metin öğeleri içeren alanları tespit eder, ardından girişi metin bölgelerine göre ayrı görüntülere böler. Bu, belge içeriğinde tablo okuma işlevselliğimize benzer, birden fazla ayırt edilebilir metin alanı olan belgeleri işlerken özellikle yararlıdır.
Temel FindMultipleTextRegions Kullanımı Nedir?
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-1.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindMultipleTextRegions();
OcrResult result = ocr.Read(input);
string resultText = result.Text;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
input.LoadImage("/path/file.png")
input.FindMultipleTextRegions()
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
FindMultipleTextRegions yöntemi artık özel parametreleri desteklememektedir.FindMultipleTextRegions Parametrelerini Nasıl Özelleştirebilirim?
Bölgelerin nasıl tespit edildiğini ve ayrıldığını kontrol etmek için bu yöntemi özel parametrelerle çağırın:
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-2.cs
using IronOcr;
var ocr = new IronTesseract();
using var input = new OcrInput();
input.LoadImage("/path/file.png");
input.FindMultipleTextRegions(Scale: 2.0, DilationAmount: -1, Binarize: true, Invert: false);
OcrResult result = ocr.Read(input);
string resultText = result.Text;
Imports IronOcr
Private ocr = New IronTesseract()
Private input = New OcrInput()
input.LoadImage("/path/file.png")
input.FindMultipleTextRegions(Scale:= 2.0, DilationAmount:= -1, Binarize:= True, Invert:= False)
Dim result As OcrResult = ocr.Read(input)
Dim resultText As String = result.Text
FindMultipleTextRegions ile Bireysel Sayfalar Nasıl İşlenir?
FindMultipleTextRegions'nin başka bir aşırı yükleme yöntemi, bir OCR Sayfasını alır ve üzerindeki her metin bölgesi için bir tane olmak üzere bir OCR Sayfaları listesi döndürür. Bu yaklaşım, karmaşık düzenlerle uğraşırken yardımcı olur, çok sayfalı TIFF işleme kılavuzumuzda açıklanan tekniklere benzer.
:path=/static-assets/ocr/content-code-examples/how-to/computer-vision-findmultipletextregions-3.cs
using IronOcr;
using System.Collections.Generic;
using System.Linq;
int pageIndex = 0;
using var input = new OcrInput();
input.LoadImage("/path/file.png");
var selectedPage = input.GetPages().ElementAt(pageIndex);
List<OcrInputPage> textRegionsOnPage = selectedPage.FindMultipleTextRegions();
Imports IronOcr
Imports System.Collections.Generic
Imports System.Linq
Private pageIndex As Integer = 0
Private input = New OcrInput()
input.LoadImage("/path/file.png")
Dim selectedPage = input.GetPages().ElementAt(pageIndex)
Dim textRegionsOnPage As List(Of OcrInputPage) = selectedPage.FindMultipleTextRegions()
GetTextRegions Kullanarak Metin Bölgesi Koordinatları Nasıl Elde Edilir?
GetTextRegions, bir sayfada metin tespit edilen kırpma alanlarının bir listesini döndürür. Bu yöntem, daha fazla işlem için metin bölgelerinin koordinatlarına ihtiyacınız olduğunda veya özelleştirilmiş OCR iş akışlarını uygular. Sonuçlarla çalışmaya dair daha fazla ayrıntı için OcrResult sınıfı belgemize bakın:
FindTextRegion Yerine GetTextRegions Ne Zaman Kullanılmalı?
/* :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-gettextregions.cs */
using IronOcr;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
// Create a new IronTesseract object for OCR
var ocr = new IronTesseract();
// Load an image into OcrInput
using var input = new OcrInput();
input.LoadImage("/path/file.png");
// Get the first page from the input
var firstPage = input.GetPages().First();
// Get all text regions detected on this page
List<Rectangle> textRegions = firstPage.GetTextRegions();
// Display information about each detected region
Console.WriteLine($"Found {textRegions.Count} text regions:");
foreach (var region in textRegions)
{
Console.WriteLine($"Region at X:{region.X}, Y:{region.Y}, Width:{region.Width}, Height:{region.Height}");
}
// You can also process each region individually
foreach (var region in textRegions)
{
var regionResult = ocr.Read(input, region);
Console.WriteLine($"Text in region: {regionResult.Text}");
}
/* :path=/static-assets/ocr/content-code-examples/how-to/computer-vision-gettextregions.cs */
using IronOcr;
using IronSoftware.Drawing;
using System;
using System.Collections.Generic;
using System.Linq;
// Create a new IronTesseract object for OCR
var ocr = new IronTesseract();
// Load an image into OcrInput
using var input = new OcrInput();
input.LoadImage("/path/file.png");
// Get the first page from the input
var firstPage = input.GetPages().First();
// Get all text regions detected on this page
List<Rectangle> textRegions = firstPage.GetTextRegions();
// Display information about each detected region
Console.WriteLine($"Found {textRegions.Count} text regions:");
foreach (var region in textRegions)
{
Console.WriteLine($"Region at X:{region.X}, Y:{region.Y}, Width:{region.Width}, Height:{region.Height}");
}
// You can also process each region individually
foreach (var region in textRegions)
{
var regionResult = ocr.Read(input, region);
Console.WriteLine($"Text in region: {regionResult.Text}");
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System
Imports System.Collections.Generic
Imports System.Linq
' Create a new IronTesseract object for OCR
Dim ocr As New IronTesseract()
' Load an image into OcrInput
Using input As New OcrInput()
input.LoadImage("/path/file.png")
' Get the first page from the input
Dim firstPage = input.GetPages().First()
' Get all text regions detected on this page
Dim textRegions As List(Of Rectangle) = firstPage.GetTextRegions()
' Display information about each detected region
Console.WriteLine($"Found {textRegions.Count} text regions:")
For Each region In textRegions
Console.WriteLine($"Region at X:{region.X}, Y:{region.Y}, Width:{region.Width}, Height:{region.Height}")
Next
' You can also process each region individually
For Each region In textRegions
Dim regionResult = ocr.Read(input, region)
Console.WriteLine($"Text in region: {regionResult.Text}")
Next
End Using
OCR'da Bilgisayar Görüşü için Yaygın Kullanım Alanları Nedir?
Bilgisayar görüşü, zorlu senaryolarda OCR doğruluğunu büyük ölçüde artırır. İşte pratik uygulamalar:
- Belge Düzeni Analizi: Karmaşık belgelerin farklı bölümlerini otomatik olarak tanımlayın ve işleyin. Taralı belgelerle özellikle faydalıdır.
- Çok Sütunlu Metin: Gazeteler veya dergiler için sütunları bağımsız olarak ayırın ve okuyun. Daha hızlı sonuçlar için çoklu iş parçacıklı işleme kullanın.
- Karışık İçerik: Belgelerdeki metin bölgeleri ve grafikler arasında ayrım yapın. Metin gömülü fotoğrafları işlerken yardımcı olur.
- Performans Optimizasyonu: OCR işlemesini yalnızca metin içeren alanlara odaklayın. Hızlı OCR yapılandırma kılavuzumuzna bakın.
- Kalite Kontrol: Tam OCR işlemeden önce metin tespitini doğrulayın. İlerleme izleme özelliğimiz her aşamayı izler.
Doğru ayarlar ve giriş dosyalarıyla, OCR neredeyse insan okuma kapasitesine ulaşabilir. En iyi sonuçlar için, bilgisayar görüşünü görüntü optimizasyon filtrelerimizle birleştirerek mümkün olan en iyi OCR doğruluğunu elde edin. Düşük kaliteli görüntülerle çalışırken düşük kalite taramaları düzeltme kılavuzumuz değerli ön işleme teknikleri sunar.
Gelişmiş Bilgisayar Görüşü Teknikleri
OCR doğruluğunu artırmak isteyen geliştiriciler için bu gelişmiş yaklaşımları değerlendirin:
- Özel Eğitim: Özel dil dosyaları kılavuzumuz ile özel fontlar için OCR motorunu eğitin.
- Çok Dilli Destek: Çoklu diller özelliğimizle çok dilli belgeleri işleyin.
- Barkod Entegrasyonu: Barkod okumayla OCR işlevselliklerini birleştirin.
Sıkça Sorulan Sorular
OCR'de Bilgisayarlı Görme nedir ve metin çıkarımını nasıl geliştirir?
IronOCR'de Bilgisayarlı Görme, OCR işleme öncesinde görüntülerde metin bölgelerini otomatik olarak algılamak için OpenCV algoritmalarını kullanır. Bu, Tesseract tanımayı yalnızca algılanan metin alanlarına odaklayarak, gürültülü, çok bölgeli ya da eğik metinlerin doğruluğunu önemli ölçüde artırır ve tüm görüntüleri işlememesi sağlanır.
C# dilinde Bilgisayarlı Görme OCR'yi hızlıca nasıl uygularım?
IronOCR, Bilgisayarlı Görme OCR'yi sadece bir satır kod ile uygulamanıza izin verir: IronTesseract'ı FindTextRegion() metodu ile kullanarak ana metin bölgesini otomatik olarak algılayın, ardından anında metin çıkarmak için .Read() çalıştırın.
Neden ayrı bir Bilgisayarlı Görme paketi yüklemem gerekiyor?
IronOCR, bilgisayarlı görme işlevselliği OpenCV algoritmalarından yararlandığı için ayrı bir IronOcr.ComputerVision NuGet paketine ihtiyaç duyar. Bu algoritmalar, metin algılama doğruluğunu önemli ölçüde artırır ve plaka tanıma ve pasaport tarama gibi özellikler için gereklidir.
Hangi platforma özgü Bilgisayarlı Görme paketini yüklemeliyim?
IronOCR, platforma özgü paketler sunar: Windows sistemler için IronOcr.ComputerVision.Windows, Linux dağıtımı için IronOcr.ComputerVision.Linux ve macOS ortamları için IronOcr.ComputerVision.MacOS.
Bir görüntüde birden fazla metin bölgesini nasıl tespit edebilirim?
IronOCR, algılanan metin bölgelerine göre orijinal görüntüyü birden fazla görüntüye ayırmak için FindMultipleTextRegions yöntemini sağlar. Ayrıca, metin algılanan kırpma alanlarının listesini almak için GetTextRegions'u kullanabilirsiniz.
İşlemden önce hangi metin bölgelerinin algılandığını doğrulayabilir miyim?
Evet, IronOCR, gerçek OCR sürecini çalıştırmadan önce bilgisayarlı görme algoritmaları tarafından algılanan metin bölgelerini kontrol etmenize olanak tanıyan StampCropRectangleAndSaveAs yöntemini içerir.
IronOCR mevcut uygulamalara entegre edilebilir mi?
IronOCR, C# kullanarak mevcut uygulamalara kolayca entegre edecek şekilde tasarlanmıştır, bu sayede geliştiriciler, yazılımlarına minimal çabayla OCR işlevselliği ekleyebilir.
IronOCR'yi belge yönetimi için kullanmanın faydaları nelerdir?
IronOCR'yi belge yönetimi için kullanmak, taranmış belgeleri aranabilir ve düzenlenebilir metne dönüştürerek iş akışını hızlandırır, manuel veri giriş ihtiyacını azaltır ve belge erişilebilirliğini artırır.
IronOCR veri doğruluğunu nasıl artırabilir?
IronOCR, gelişmiş tanıma algoritmaları ve görüntü düzeltme özellikleriyle veri doğruluğunu artırır, böylece metin çıkarım sürecinin hem güvenilir hem de kesin olmasını sağlar.
IronOCR için ücretsiz bir deneme mevcut mu?
Evet, Iron Software, IronOCR'nin özelliklerini ve yeteneklerini, bir satın alma kararı vermeden önce test edebilmek için ücretsiz bir deneme sunar.

