IronOCR kullanarak C# ile MICR Çeki Nasıl Okunur

This article was translated from English: Does it need improvement?
Translated
View the article in English

Manuel olarak çek işlemleri yapmak yavaş ve hataya açıktır. IronOCR, manyetik mürekkep karakter tanıma (MICR) satırını doğru bir şekilde okuyabilen özel bir motorla bu iş akışını kolaylaştırır ve yönlendirme numaraları, hesap numaraları ve diğer kritik verilerin çıkarılmasını otomatikleştirmenize olanak tanır.

Hızlı Başlangıç: Çek Görüntüsünden OCR ile MICR Okuma

Using IronOCR, MICR satırını hızlı bir şekilde alın — Language'yi MICR olarak ayarlayın, MICR metninin göründüğü dikdörtgen alanı belirtin, Read()'yi çalıştırın ve result.Text dizesini anında alın. Minimum kurulumla güvenilir finansal veri çıkarımı isteyen geliştiriciler için mükemmel.

  1. IronOCR aşağıdaki NuGet Paket Yöneticisi ile yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçacığını kopyalayın ve çalıştırın.

    string micrText = new IronOcr.IronTesseract { Language = IronOcr.OcrLanguage.MICR }.Read(new IronOcr.OcrInput().LoadImage("micr.png", new System.Drawing.Rectangle(125, 240, 310, 15))).Text;
  3. Canlı ortamınızda test için dağıtım yapın

    Ücretsiz deneme ile bugün projenizde IronOCR kullanmaya başlayın

    arrow pointer

Çek Görüntüsünden MICR Verisi Nasıl Okunur?

IronOCR ile bir MICR satırını okumak basit ve sezgiseldir. Öncelikle, IronTesseract örneğinin OcrLanguage.Micr özelliğini OcrLanguage.Micr olarak ayarlayın. Motorun doğru alanı okumasını sağlamak için, OcrInput üzerinde dikdörtgen bir sınır belirleyerek MICR satırının konumunu belirtin.

Bu, x ve y koordinatlarının yanı sıra sınırlayıcı kutu dikdörtgeninin yüksekliği ve genişliği seçilerek, ardından Load yöntemini çağırırken dikdörtgeni ikinci parametre olarak geçirerek gerçekleştirilir. Read yöntemini çağırmak, yalnızca bu tanımlanmış bölgeyi işler. MICR dil ayarının ve belirli bir bölgenin bu kombinasyonu, IronOCR'un ilgili finansal bilgileri doğru şekilde çıkarmasını garanti eder.

MICR teknolojisi, 0-9 ve dört özel sembolden oluşan E-13B gibi özel manyetik mürekkep ve benzersiz bir yazı tipi kullanır. Bu semboller arasında, yönlendirme numarası sınırlarını işaretleyen transit sembolü (⑆) bulunur; hesap numarasını diğer verilerden ayıran on-us sembolü (⑈); kodlanmış miktarlar için kullanılan miktar sembolü (⑊); ve ayırıcı olarak hizmet eden çizgi sembolü (⑉) içerir. Bu mürekkebin manyetik özellikleri, çekler katlandığında, damgalandığında veya hafifçe zarar gördüğünde bile güvenilir okuma sağlar, bu da MICR'ı yüksek hacimli çek işleme için ideal hale getirir.

MICR Çeki Nasıl Görünür?

MICR okuma gösterimi için etiketlenmiş yönlendirme numarası, hesap numarası ve çek numarasını içeren MICR satırını gösteren örnek çek

MICR Satırında Hangi Bilgiler Bulunur?

Çek Numarası: Bu numara, hesap sahibinin çek defterindeki belirli çeki benzersiz olarak tanımlar. Bireysel ödemeleri takip etmek ve işlem kayıtlarını sürdürmek için net bir referans olarak hizmet eder. Otomatik işleme sistemlerinde, çek numarası çift işlemeyi önler ve mutabakat prosedürlerinde yardımcı olur.

Yönlendirme Numarası: ⑆ transit sembolü ile çevrelenen bu dokuz basamaklı kod, hesabı tutan finans kurumunu tanımlar. Ödeme için çeki doğru bankaya yönlendirmek için kullanılan bir clearinghouse'un ilk bilgi parçasıdır. Yönlendirme numarası belirli bir formata sahiptir: ilk dört basamak Federal Rezerv yönlendirme sembolünü tanımlar, sonraki dört basamak kurumu tanımlar ve son basamak doğrulama için bir kontrol toplamıdır.

Hesap Numarası: Fonların çekileceği belirli müşteri hesabını tanımlar. Uzunluğu farklı bankalar arasında değişebilir, genellikle 10 ila 12 basamak arasında. Bankalar hesap numarası yapısına dahili kodlar veya şube tanımlayıcılar ekleyebilir.

MICR Verilerini Çıkarmak İçin Hangi Koda İhtiyacım Var?

:path=/static-assets/ocr/content-code-examples/how-to/read-micr-cheque.cs
using IronOcr;
using IronSoftware.Drawing;
using System;

// Create a new instance of IronTesseract for performing OCR operations
IronTesseract ocr = new IronTesseract();

// Set the OCR language to MICR to recognize magnetic ink characters
// Must have MICR (IronOcr.Languages.MICR) installed beforehand
ocr.Language = OcrLanguage.MICR;

// Specify the file path of the input image containing MICR text
using (var input = new OcrInput())
{
    // Specify the MICR of the image to focus on for OCR (coordinates in pixels)
    var contentArea = new Rectangle(x: 215, y: 482, width: 520, height: 20);
    input.LoadImage("micr.png", contentArea);

    // Optional: Save the cropped area for verification
    input.StampCropRectangleAndSaveAs(contentArea, Color.Aqua, "cropped.png");

    // Run the OCR engine to read the MICR text from the input image
    var result = ocr.Read(input);
    // Output the recognized text to the console
    Console.WriteLine(result.Text);

    // Transit number is the first 7 characters of the MICR string
    string transitNum = result.Text.Substring(0, 7);
    // Routing number starts from the 8th character and is 11 characters long
    string routingNum = result.Text.Substring(7, 11);
    // Account number starts from the 22nd character to the end of the string
    string accountNum = result.Text.Substring(22);
}
Imports IronOcr
Imports IronSoftware.Drawing
Imports System

' Create a new instance of IronTesseract for performing OCR operations
Dim ocr As New IronTesseract()

' Set the OCR language to MICR to recognize magnetic ink characters
' Must have MICR (IronOcr.Languages.MICR) installed beforehand
ocr.Language = OcrLanguage.MICR

' Specify the file path of the input image containing MICR text
Using input As New OcrInput()
    ' Specify the MICR of the image to focus on for OCR (coordinates in pixels)
    Dim contentArea As New Rectangle(x:=215, y:=482, width:=520, height:=20)
    input.LoadImage("micr.png", contentArea)

    ' Optional: Save the cropped area for verification
    input.StampCropRectangleAndSaveAs(contentArea, Color.Aqua, "cropped.png")

    ' Run the OCR engine to read the MICR text from the input image
    Dim result = ocr.Read(input)
    ' Output the recognized text to the console
    Console.WriteLine(result.Text)

    ' Transit number is the first 7 characters of the MICR string
    Dim transitNum As String = result.Text.Substring(0, 7)
    ' Routing number starts from the 8th character and is 11 characters long
    Dim routingNum As String = result.Text.Substring(7, 11)
    ' Account number starts from the 22nd character to the end of the string
    Dim accountNum As String = result.Text.Substring(22)
End Using
$vbLabelText   $csharpLabel

Kod, MICR çek işleme için tam iş akışını gösterir. Bu kodu çalıştırmadan önce, NuGet üzerinden MICR dil paketini yüklediğinizden emin olun. OcrInput sınıfı, görüntüleri yüklemek ve ön işlemden geçirmek için güçlü yöntemler sunarken, Rectangle parametresi MICR satırının konumunun hassas bir şekilde hedeflenmesini sağlar.

Ne Tür Sonuçlar Beklemeliyim?

Debug konsolu, kontrolden çıkarılan transit, yönlendirme ve hesap numaraları ile MICR analiz sonuçlarını gösteriyor

Yukarıdaki çıktı, MICR çekinden elde edilen üç bölümü gösteriyor: transit numarası, yönlendirme numarası ve hesap numarası. Özel MICR sembollerinin çıktıda nasıl temsil edildiğine dikkat edin—bu, bu sembollerin özel Unicode temsilciliklerine sahip olduğu için normal bir davranıştır ve bu, konsol çıktısında farklı şekilde görünebilir.

MICR OCR Sonuçları

OcrResult nesnesi, tarama hakkında ayrıntılı bilgi sağlar:

Metin: OcrInput'den çıkarılan metin. Bu, MICR satırındaki tüm karakterleri ve sembolleri içerir, orijinal sıralarını korur.

Güven: Her karakterin ortalama istatistiksel doğruluğunu gösterir, bir en yüksek ve sıfır en düşük olanıdır. MICR okuma için, 0,9 üzerinde güven seviyeleri, standartlaştırılmış yazı tipi tasarımından dolayı tipiktir. OCR sonuçlarında güven takibi hakkında daha fazla bilgi edinin.

Bloklar, Paragraflar, Satırlar ve Kelimeler: MICR için tipik olarak sembollerle ayrılmış çoklu kelime segmentlerinden oluşan tek bir satırdan oluşan tanınmış metnin hiyerarşik yapısı.

Barkod Verisi: MICR işlerken IronOCR aynı zamanda çekteki herhangi bir barkod ya da QR kodunu algılayabilir.

Doğru OCR Bölgesini Nasıl Doğrulayabilirim?

MICR hattı için doğru koordinatları seçtiğinizden emin olmak için, tanımladığınız ContentArea'yı görselleştirebilirsiniz. Bunu yapmanın basit bir yolu, giriş görüntüsüne dikdörtgen çizmek ve StampCropRectangleAndSaveAs ile yeni bir dosya olarak kaydetmektir. Bu, koordinatları optimal performans için ince ayar yapmanıza ve sorun gidermenize yardımcı olur.

Rectangle'nizin koordinatlarını bulmak için MS Paint gibi basit bir resim düzenleyici kullanın. Çek görüntüsünü açın, farenizi MICR satırının sol üst ve sağ alt köşelerinin üzerine getirin ve (x,y) piksel koordinatlarını not edin. Ardından dikdörtgenin özelliklerini hesaplayabilirsiniz: (x1, y1, width, height), burada width = x2-x1 ve height = y2-y1.

Daha ileri bölge seçimi teknikleri için, OCR bölgesi hedefleme ve içerik alanları ile PDF'ler konularını keşfedin.

Örnek çek üzerindeki belirtilen sınır kutusunu çizdikten sonra çıkan görüntü budur.

Çıktı

Yönlendirme numarası, hesap numarası ve kırmızı kutu içindeki çek numarası gösteren MICR hattını kontrol edin

Açık mavi dikdörtgen, MICR hattını işleme için doğru bir şekilde izole ettiğimizi teyit eder.

Performans Optimizasyonu İpuçları

Birden fazla çeki işlerken, performansı artırmak için çoklu iş parçacığı uygulamayı düşünebilirsiniz. IronOCR, eş zamanlı işlemleri verimli bir şekilde yönetir:

// Process multiple cheques in parallel
var chequeFiles = Directory.GetFiles("cheques/", "*.png");
Parallel.ForEach(chequeFiles, file =>
{
    using (var ocr = new IronTesseract { Language = OcrLanguage.MICR })
    using (var input = new OcrInput())
    {
        input.LoadImage(file, micrRegion);
        var result = ocr.Read(input);
        ProcessMicrData(result.Text);
    }
});
// Process multiple cheques in parallel
var chequeFiles = Directory.GetFiles("cheques/", "*.png");
Parallel.ForEach(chequeFiles, file =>
{
    using (var ocr = new IronTesseract { Language = OcrLanguage.MICR })
    using (var input = new OcrInput())
    {
        input.LoadImage(file, micrRegion);
        var result = ocr.Read(input);
        ProcessMicrData(result.Text);
    }
});
Imports System.IO
Imports System.Threading.Tasks
Imports IronOcr

' Process multiple cheques in parallel
Dim chequeFiles = Directory.GetFiles("cheques/", "*.png")
Parallel.ForEach(chequeFiles, Sub(file)
    Using ocr As New IronTesseract With {.Language = OcrLanguage.MICR}
        Using input As New OcrInput()
            input.LoadImage(file, micrRegion)
            Dim result = ocr.Read(input)
            ProcessMicrData(result.Text)
        End Using
    End Using
End Sub)
$vbLabelText   $csharpLabel

Yaygın Sorun Giderme Senaryoları

Düşük Kalite Taramalar: Eğer kötü kalite çek görüntüleriyle çalışıyorsanız, okunabilirliği arttırmak için görüntü ön işleme filtrelerini uygulayın. MICR fontunun ayırt edici şekli, bozulmuş görüntülerde bile doğruluğu korumaya yardımcı olur.

Yanlış Karakter Tanıma: En son MICR dil paketini yüklediğinizden emin olun. Özel MICR dil yapılandırması, E-13B yazı tipi tanıma için özel olarak eğitilmiştir.

Değişken MICR Hattı Konumları: Farklı bankalar MICR hattını biraz farklı konumlara yerleştirebilir. Dinamik bölge algılama uygulamayı veya farklı çek formatları için koordinatlar içeren bir yapılandırma dosyasını sürdürmeyi düşünün.

İlgili Finansal Belge İşleme

IronOCR'un yetenekleri, çek işleme ötesine uzanır. Kapsamlı finansal belge otomasyonu için bu ilgili özellikleri keşfedin:

IronOCR ile MICR okuma ustası olarak, manuel giriş hatalarını azaltarak ve iş akışınızı önemli ölçüde hızlandırarak, tamamen otomatik finansal belge işleme yolunda ilk adımı attınız.

Sıkça Sorulan Sorular

MICR nedir ve çek işleme için neden önemlidir?

MICR (Manyetik Mürekkep Karakter Tanıma), özel manyetik mürekkep ve benzersiz yazı tipleri kullanarak çekler üzerinde finansal bilgileri kodlamak için bir teknolojidir. IronOCR'un özel MICR motoru, bu kodlu verileri doğru bir şekilde okuyabilir, yönlendirme numaraları, hesap numaraları ve çek numaraları dahil olmak üzere, aksi halde yavaş ve hata eğilimli olacak manuel bir süreci otomatikleştirir.

OCR motorunu MICR metni okumak için nasıl yapılandırırım?

IronOCR ile MICR metni okumak için, IronTesseract örneğinin Dil özelliğini OcrLanguage.MICR olarak ayarlamanız gerekecek. Bu, motoru çeklerde kullanılan E-13B fontunu okumak için tasarlanmış özel MICR karakter tanıma algoritmalarını kullanmaya yönlendirir.

MICR verilerini aramak için çekin tam yerini belirtebilir miyim?

Evet, IronOCR size, OcrInput üzerinde MICR satırının tam konumunu bir dikdörtgen sınırı belirterek belirtme olanağı tanır. Bu, yükseklik ve genişlik ile birlikte x ve y koordinatlarını seçerek tanımlanır, ardından onu Load yöntemini çağırdığınızda ikinci parametre olarak geçersiniz.

MICR kodlamasında hangi özel karakterler kullanılır?

MICR toplamda 14 karakter kullanır: 0-9 rakamları ve dört özel sembol. Bunlar arasında yönlendirme numaraları sınırları için transit sembolü (⑆), hesap numaralarını ayırmak için on-us sembolü (⑈), kodlanmış miktarlar için tutar sembolü (⑊) ve ayırıcı olarak tire sembolü (⑉) bulunur. IronOCR, bu MICR'ye özgü karakterlerin tümünü tanıyabilir.

Bir çek görüntüsünden MICR verilerini ne kadar hızlı çıkarabilirim?

IronOCR ile, tek bir satır kodla MICR verilerini çıkarabilirsiniz. Dili MICR olarak ayarlanmış bir IronTesseract örneği oluşturun, MICR bölgesi belirtilmiş görüntünüzü yükleyin, Read() yöntemini çağırın ve hemen çıkarılan MICR dizesini almak için result.Text özelliğine erişin.

MICR hattından hangi finansal bilgiler çıkarılabilir?

IronOCR, MICR hattından kodlanmış tüm önemli finansal verileri, banka belirlemek için yönlendirme numarası, belirli hesabı belirlemek için hesap numarası ve bireysel çeki benzersiz olarak belirlemek için çek numarası gibi bilgileri çıkarabilir. Bu otomatik çıkarım, finansal belge işlemeyi hızlandırır.

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.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,896,332 | Sürüm: 2026.5 just released
Still Scrolling Icon

Hâlâ Kaydırıyor Musunuz?

Hızlıca kanıt ister misiniz? PM > Install-Package IronOcr
örnek çalıştır görüntünüzün aranabilir metin haline gelmesini izleyin.