C# ile Bilgisayarlı Görü Kullanarak Metin Nasıl Bulunur?
IronOCR, OCR işleme öncesinde resimlerdeki metin bölgelerini otomatik olarak algılamak için OpenCV bilgisayarlı görüşünü kullanır. Bu, Tesseract tanımasını yalnızca belirlenen metin alanlarına odaklayarak, tüm görüntüleri işlemek yerine gürültülü, çok bölgeli veya eğimli metinler için doğruluğu artırır.
Başlat: Birincil Metin Bölgesini Algıla ve OCR Uygula
Bu örnek, anında metin çıkarmayı gösterir: bir resmi yükleyin, IronOCR'nin Bilgisayar Görüşü'nü kullanarak FindTextRegion() ile ana metin bölgesini otomatik olarak algılayın, ardından metni tek satırda çıkarmak için .Read(...) çalıştırın.
-
NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin
PM > Install-Package IronOcr -
Bu kod parçasını kopyalayıp çalıştırın.
using var result = new IronTesseract().Read(new OcrInput().LoadImage("image.png").FindTextRegion()); -
Canlı ortamınızda test etmek için dağıtın
Bugün projenizde IronOCR kullanmaya başlayın ücretsiz deneme ile
- C# ile Plaka OCR Nasıl Yapılır (Eğitim)
- C# ile Faturadan Metin Alma Eğitimi
- C# ile Ekran Görüntüsünden Metin OCR Nasıl Alınır
- Altyazıları C# ile OCR Yapma (Eğitim)
Minimal İş Akışı (5 adımda)
- Bilgisayarlı Görü ile OCR kullanmak için C# kütüphanesini indirin
FindTextRegionyöntemini otomatik metin bölgelerini algılamak için kullanınStampCropRectangleAndSaveAsyöntemi ile hangi metin bölgesinin algılandığını kontrol edinFindMultipleTextRegionsyöntemi ile bilgisayarlı görü kullanarak orijinal görüntüyü metin bölgelerine dayalı olarak resimlere ayırınGetTextRegionsyöntemi ile metin algılanmış olan kırpma alanları listesini alın
IronOcr.ComputerVision'ı NuGet Paketi ile Nasıl Yüklerim?
IronOCR'da Bilgisayarlı Görüyü gerçekleştiren OpenCV yöntemleri düzenli IronOCR NuGet paketinde görünür. Detaylı kurulum rehberi için NuGet kurulum rehberimize bakın.
IronOCR Neden Ayrı Bir Bilgisayarlı Görü Paketi Gerektiriyor?
Bu yöntemleri kullanmak, çözümde IronOcr.ComputerVision NuGet kurulumunu gerektirir. Yüklü değilse indirilmesini isteyen bir uyarı alırsınız. Bilgisayarlı görü işlevi, metin algılama doğruluğunu önemli ölçüde artıran OpenCV algoritmalarını kullanır; bu, plaka tanıma ve pasaport tarama özelliklerinde kullanılan tekniklere benzer.
Hangi Platforma Özel Paketi Yüklemeliyim?
- Windows:
IronOcr.ComputerVision.Windows- Windows kurulum kılavuzumuzu görün - Linux:
IronOcr.ComputerVision.Linux- Linux kurulum eğiticimiz kontrol edin - macOS:
IronOcr.ComputerVision.MacOS- macOS kurulum talimatlarımızı inceleyin - macOS ARM:
IronOcr.ComputerVision.MacOS.ARM
Paket Yöneticisi Konsolu Kullanarak Nasıl Yüklerim?
NuGet Paket Yöneticisini kullanarak kurun veya Paket Yöneticisi Konsoluna aşağıdakini yapıştırın:
Install-Package IronOcr.ComputerVision.Windows
Bu, IronOCR Bilgisayarlı Görü fonksiyonalitesini model dosyamız ile kullanmak için gerekli derlemeleri sağlar.
IronOCR'da Hangi Bilgisayarlı Görü Yöntemleri Mevcut?
Kod örnekleri bu eğitimin daha ilerisinde verilmiştir. İşte şu anda mevcut olan yöntemlerin genel bir özeti:
| Yöntem | Açıklama |
|---|---|
| FindTextRegion | Metin ögeleri içeren bölgeleri algılayın ve Tesseract'in yalnızca metnin algılandığı alan içinde metin aramasını sağlayın. |
| FindMultipleTextRegions | Metin ögeleri içeren alanları algılayın ve sayfayı metin bölgelerine dayalı olarak ayrı resimlere bölün. |
| GetTextRegions | Scans the image and returns a list of text regions as `List |
FindTextRegion Kullanarak Metin Alanlarını Nasıl Tespit Ederim?
FindTextRegion, OcrInput nesnesindeki her sayfada metin öğeleri içeren bölgeleri algılamak için bilgisayar görüşünü kullanır. Bu yöntem, dağınık metin içeren resimleri işlerken veya sadece metin içeren bölgelere odaklanarak performansı iyileştirmeniz gerektiğinde özellikle yararlı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ım dışıdır ve özel parametreleri kabul etmez.FindTextRegion Parametrelerini Nasıl Özelleştirebilirim?
Metin algılamayı ince ayar yapabilmek için bu yöntemi özel parametreler ile çağırın. Bu parametreler görüntü filtre konfigürasyonlarımıza benzer ç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örünür?
Bu örnekte, metin içeriğine sahip alanları kırpmayı gerektiren bir yöntem için aşağıdaki görüntüyü kullanıyorum, ancak girdilerdeki metin konumları değişiklik gösterebilir. Taramayı, Bilgisayar Görüşü'nün metni algıladığı bir alana daraltmak için FindTextRegion kullanırım. Bu yaklaşım, içerik alanları ve kırpma bölgeleri eğitimimizde kullanılan tekniklere benzer. Bu, bir örnek resimdir:
: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 Algılamayı Nasıl Hata Ayıklayıp Doğrularım?
Bu kodun iki çıktısı vardır. İlki, hata ayıklama için StampCropRectangleAndSaveAs tarafından kaydedilen bir .png dosyasıdır. Bu teknik, hata ayıklama için metinleri vurgulama rehberimizde de açıklanmıştır. IronCV'nin (Bilgisayarlı Görüş) metni algıladığı yeri görebiliriz:
Algılama metin alanını doğru şekilde belirler. İ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
FindMultipleTextRegions Kullanarak Çoklu Metin Alanları Nasıl İşlenir?
FindMultipleTextRegions, OcrInput nesnesinin tüm sayfalarını alır ve metin öğeleri içeren alanları algılamak için bilgisayar görüşünü kullanır, ardından girişi metin bölgelerine dayalı olarak ayrı resimlere böler. Yalnız metin alanları olan belgeleri işlerken özellikle faydalıdır, bu bizim belgede tablo okuma işlevimize benzer:
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 algılanıp ayrılacağını kontrol etmek için bu yöntemi özelleştirilmiş 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 İşlerim?
FindMultipleTextRegions'nin başka bir aşırı yükleme yöntemi bir OCR Sayfasını alır ve üzerinde her bir metin bölgesi için bir OCR Sayfası döner. Bu yaklaşım, çoklu sayfa TIFF işleme kılavuzumuzda açıklanan tekniklere benzer şekilde karmaşık yerleşimleri işlerken yardımcı olur.
: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ını Nasıl Alırım?
GetTextRegions bir sayfada metnin algılandığı kırpma alanlarının bir listesini döner. Bu yöntem, özellikle metin bölgelerinin koordinatlarına ihtiyaç duyduğunuzda veya özel OCR iş akışları uygularken yararlıdır. Sonuçlarla çalışma hakkında daha fazla ayrıntı için OcrResult sınıfı belgelerimizi görün:
GetTextRegions Kullanımı Yerine FindTextRegion'u Ne Zaman Kullanmalıyım?
/* :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'de Bilgisayar Görüşü İçin Yaygın Kullanım Senaryoları Nelerdir?
Bilgisayar görüşü, zorlu senaryolarda OCR doğruluğunu önemli ö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. Özellikle tarafından okunmuş belgeler ile 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şlem kullanın.
-
Karışık İçerik: Belgelerdeki metin bölgeleri ile grafikleri ayırt edin. Gömülü metin içeren fotoğrafları işlerken faydalıdır.
-
Performans Optimizasyonu: OCR işlemini sadece metin içeren alanlara odaklayın. hızlı OCR yapılandırma kılavuzumuza bakın.
- Kalite Kontrolü: Tam OCR işleminden önce metin algılamayı doğrulayın. ilerleme izleme özelliğimiz her aşamayı izler.
Doğru ayarlar ve giriş dosyaları ile, OCR insan düzeyine yakın okuma kabiliyeti elde edebilir. Optimum sonuçlar için, bilgisayar görüşünü görüntü optimizasyon filtrelerimiz ile birleştirerek en iyi OCR doğruluğunu elde edin. Düşük kaliteye sahip görüntülerle çalışırken, düşük kaliteli taramaların düzeltilmesi ile ilgili kılavuzumuz değerli ön işleme teknikleri sağlar.
Gelişmiş Bilgisayar Görüşü Teknikleri
OCR doğruluğunu zorlamak isteyen geliştiriciler için, bu gelişmiş yaklaşımları düşünebilirsiniz:
- Özel Eğitim: özel dil dosyaları kılavuzumuzu kullanarak özel yazı tipleri için OCR motorunu eğitin.
- Çok Dilli Destek: Çok dilli belgeleri çok dilli özellik ile işleyin.
- Barkod Entegrasyonu: OCR ile barkod okuma yeteneklerimizi kullanarak metin tanıma ile barkod okuma işlemini birleştirin.
Sıkça Sorulan Sorular
OCR'de Bilgisayarlı Görü nedir ve metin çıkarımını nasıl geliştirir?
IronOCR içindeki Bilgisayarlı Görü, OCR işleminden önce görüntülerdeki metin bölgelerini otomatik olarak tespit etmek için OpenCV algoritmalarını kullanır. Bu, gürültülü, çok bölgeli veya dalgalı metinler için doğruluğu önemli ölçüde artırır, çünkü Tesseract tanımayı yalnızca tespit edilen metin alanlarına odaklar, tüm görüntüleri işlemeyerek.
C# dilinde Bilgisayarlı Görü ile OCR'yi hızla nasıl uygulayabilirim?
IronOCR, Bilgisayarlı Görü ile OCR'yi yalnızca bir satır kodla uygulamanıza izin verir: IronTesseract'ı FindTextRegion() metodu ile kullanarak ana metin bölgesini otomatik tespit edin, ardından metni hemen çıkarmak için .Read() çalıştırın.
Neden ayrı bir Bilgisayarlı Görü paketi yüklemem gerekiyor?
IronOCR, bilgisayarlı görme işlevselliğinin OpenCV algoritmalarından yararlanması nedeniyle ayrı IronOcr.ComputerVision NuGet paketini gerektirir. Bu algoritmalar, metin tespit doğruluğunu önemli ölçüde artırır ve plaka tanıma ve pasaport tarama gibi özellikler için önemlidir.
Hangi platforma özel Bilgisayarlı Görü paketini yüklemeliyim?
IronOCR, platforma özel paketler sunmaktadır: Windows sistemleri için IronOcr.ComputerVision.Windows, Linux dağıtımları 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, tespit edilen metin bölgelerine göre orijinal görüntüyü birden fazla görüntüye ayırmak için FindMultipleTextRegions metodunu sağlar. Tespit edilen metinlerin yer aldığı kırpma alanları listesini almak için GetTextRegions'i de kullanabilirsiniz.
İşlem öncesi tespit edilen metin bölgelerini doğrulayabilir miyim?
Evet, IronOCR, Bilgisayarlı Görü algoritmaları tarafından tespit edilen metin bölgelerini, gerçek OCR sürecini çalıştırmadan önce kontrol etmenize olanak tanıyan StampCropRectangleAndSaveAs yöntemini içerir.

