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

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

Çekleri manuel işlem, yavaş ve hataya açıktır. IronOCR bu iş akışını, MICR (Manyetik Mürekkep Karakter Tanımı) satırını doğru bir şekilde okuyabilen özel bir motor ile basitleştirir, bu sayede yönlendirme numaralarını, hesap numaralarını ve diğer kritik verileri otomatik olarak çıkartabilirsiniz.

Hızlı başlangıç: Çek Resminden OCR İle MICR Okuma

IronOCR kullanarak MICR satırını hızlıca elde edin—sadece Language ayarını MICR olarak yapın, MICR metninin göründüğü dikdörtgen bölgeyi belirtin, Read() çalıştırın ve hemen result.Text dizgesini alın. Minimal kurulumla güvenilir finansal veri çıkartımı isteyen geliştiriciler için mükemmeldir.

  1. NuGet Paket Yöneticisi ile https://www.nuget.org/packages/IronOcr yükleyin

    PM > Install-Package IronOcr
  2. Bu kod parçasını kopyalayıp ç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 etmek için dağıtın

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

    arrow pointer

Çek Resminden MICR Verileri Nasıl Okunur?

IronOCR ile bir MICR satırını okumak basit ve sezgiseldir. Başlamak için, Language özelliğini IronTesseract örneğinde OcrLanguage.Micr olarak ayarlayın. Motorun doğru alanı okuduğundan emin olmak için, OcrInput üzerinde dikdörtgen bir sınır ayarlayarak MICR satırının yerini belirtin.

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

MICR teknolojisi, özel manyetik mürekkep ve Kuzey Amerika'da E-13B olarak bilinen 14 karakter içeren benzersiz bir yazı tipi kullanır: 0-9 rakamları ve dört özel sembol. Bu semboller arasında yönlendirme numaralarının sınırlarını işaretleyen transit sembolü (⑆); hesap numarasını diğer verilerden ayıran on-us sembolü (⑈); kodlanmış miktarlar için kullanılan miktar sembolü (⑊); ve ayraç görevi gören tire sembolü (⑉) bulunur. Bu mürekkebin manyetik özellikleri, çekler katlandığında, damgalandığında veya hafifçe zarar gördüğünde bile güvenilir bir okuma sağlar, bu da MICR'yi yüksek hacimli çek işleme için ideal kılar.

BIR MICR Çeki Ne Görünür?

Örnek çek üzerinde MICR satırının, yönlendirme numarası, hesap numarası ve MICR okuma gösterimi için etiketlenmiş çek numarası ile gösterilmesi

MICR Hattı Ne Tür Bilgiler İçerir?

Çek Numarası: Bu numara, hesap sahibinin çek defterindeki belirli çeki özel olarak tanımlar. Bireysel ödemeleri izlemek ve işlemi kayıt altına almak için açık bir referans görevi görür. Otomatik işlem sistemlerinde, çek numarası, yinelenen işlemleri önlemeye ve mutabakatı kolaylaştırmaya yardım eder.

Yönlendirme Numarası: ⑆ transit sembolü ile çevrilen dokuz basamaklı bu kod, hesabı barındıran finans kuruluşunu tanımlar. Çeklerin doğru bankaya ödeme için yönlendirilmesi için bir kliring merkezi tarafından kullanılan ilk bilgidir. Yönlendirme numarası belirli bir formata uyar: ilk dört basamak Federal Reserve yönlendirme sembolünü, sonraki dört basamak kurumu belirler 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 olur. Bankalar, hesap numarasının yapısına iç kodlar veya şube tanımlayıcıları ekleyebilir.

MICR Verilerini Çıkarmak İçin Hangi Kodu Kullanmalıyım?

: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, MICR dil paketini NuGet üzerinden yüklediğinizden emin olun. OcrInput sınıfı, görüntüleri yükleme ve ön işleme için güçlü yöntemler sağlar ve Rectangle parametresi ile MICR hattı konumunu hassas bir şekilde hedefleme imkanı sunar.

Hangi Sonuçları Beklemeliyim?

Hata ayıklama konsolu, çekten transit, yönlendirme ve hesap numaraları ile MICR çözümleme sonuçlarını gösteriyor

Yukarıdaki çıktı, MICR çekten elde edilen üç bölümü gösterir: transit numarası, yönlendirme numarası ve hesap numarası. Özel MICR sembollerinin çıktıda nasıl temsil edildiğine dikkat edin; bu normaldir çünkü bu semboller özel Unicode temsilcilikleriyle farklılık gösterebilir.

MICR OCR Sonuçları

OcrResult nesnesi, tarama hakkında detaylı bilgi sağlar:

Text: OcrInput'dan çıkarılan metin. Bu, MICR hattındaki tüm karakterler ve sembolleri orijinal sıra düzeninde içerir.

Güven: Her karakterin ortalamasının istatistiksel doğruluk güvenini belirtir, biri en yüksek, sıfır ise en düşüktür. MICR okuması için, standart yazı tasarımı nedeniyle güven seviyeleri genellikle 0.9'un üzerindedir. OCR sonuçlarındaki güven izleme hakkında daha fazla bilgi edinin.

Bloklar, Paragraflar, Satırlar ve Kelimeler: Tanınan metnin hiyerarşik yapısı, MICR için tipik olarak, sembollerle ayrılmış birden çok kelime segmenti içeren tek bir satırdan oluşur.

Barkod Verisi: MICR islerken, IronOCR cek uzerinde mevcut olan herhangi bir barkod veya QR kodunu ayni anda algilayabilir.

Dogru OCR Bolgesini Nasıl Dogrularim?

MICR cizgisi icin dogru koordinatlari sectiginizden emin olmak icin, tanimladiginiz İçerikAlani'ni gozlemleyebilirsiniz. Bunu yapmanın basit bir yolu, dikdörtgeni giriş görüntüsü üzerine çizmek ve StampCropRectangleAndSaveAs ile yeni bir dosya olarak kaydetmektir. Bu, koordinatorlerinizi optimal performans icin sorun giderirken ve ince ayar yaparken isinize yarar.

Dikdortgeniniz icin koordinatlari bulmak icin MS Paint gibi basit bir resim editoru kullanin. Çek görüntünüzü açın, farenizle MICR satırının sol üst ve sağ alt köşeleri üzerinde gezinin 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 gelişmiş bolge secimi teknikleri icin, OCR bolge hedefleme ve PDF'lerle içerik alanlarini kesfedin.

Isaretlenmis sinir cizgisi ile örnek cekimizden cikarilan cikis resmi.

Çıktı

MICR cizgisi, yonlendirme numarasi, hesap numarasi ve cek numarası kirmizi kutuda vurgulanmistir.

Acik mavi dikdortgen, MICR cizgisini işleme icin dogru izole ettigimizi doğrulamaktadir.

Performans Optimizasyon Ipuclari

Birden fazla ceki islerken, performansi iyilestirmek icin coklu işleme uygulamayi goz onunde bulundurun. IronOCR coklu islevleri verimli bir sekilde ele alir:

// 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

Yaygin Sorun Giderme Senaryolari

Dusuk Kalite Tarama: Dusuk kalite cek resimleriyle calisiyorsaniz, okunabilirligi artirmak icin resim on işleme filtreleri uygulayin. MICR yazitipinin ozel sekli, degradeli görüntülerde bile dogrulugu korur.

Yanlis Karakter Tanima: En yeni MICR dil paketi kurulu oldugundan emin olun. Ozel MICR dil konfigürasyonu specifically olarak E-13B yazı tipinin tanınması için eğitilmiştir.

Degisen MICR Cizgi Pozisyonlari: Farkli bankalar, MICR cizgisini biraz farkli yerlere yerlestirebilir. Dinamik bolge tespiti uygulamayi ya da farkli cek formatlari icin koordinatlari olan bir konfigurasyon dosyasi tutmayi dusunun.

İlgili Finansal Belge İşleme

IronOCR'un yetenekleri cek işlemenin otesine gecer. Kapsamli finansal belge otomasyonu icin bu ilgili özellikleri kesfedin:

IronOCR ile MICR okumayi ustalarken, tamamen otomatik finansal belge işlemeye dogru ilk adimi attiniz, manuel giris hatalarini azaltarak ve is akisinizi çok daha hizli hale getirerek.

Sıkça Sorulan Sorular

MICR nedir ve çek işlemesinde neden önemlidir?

MICR (Manyetik Mürekkep Karakter Tanıma) çekler üzerindeki finansal bilgiyi manyetik mürekkep ve benzersiz fontlar kullanarak kodlayan bir teknoloji. IronOCR'un özel MICR motoru, bu kodlanmış verileri, yönlendirme numaraları, hesap numaraları ve çek numaralarını doğru bir şekilde okuyabilir ve bu sayede yavaş ve hata eğilimli manuel işlemleri otomatikleştirir.

OCR motorunu MICR metnini okumak için nasıl yapılandırabilirim?

IronOCR ile MICR metin okumak için, IronTesseract örneğinin Dil özelliğini OcrLanguage.MICR olarak ayarlamanız gerekir. Bu ayar, motorun MICR karakter tanıma algoritmalarını kullanmasını sağlar; bu algoritmalar, çekler üzerindeki E-13B fontunu okumak için özel olarak tasarlanmıştır.

Çek üzerinde MICR verisinin nerede aranacağını tam olarak belirleyebilir miyim?

Evet, IronOCR, OcrInput üzerinde dikdörtgen bir sınır ayarlayarak MICR çizgisinin tam yerini belirlemenize izin verir. Bunu, kapsayıcı kutu dikdörtgeninin x ve y koordinatlarını, yüksekliğini ve genişliğini seçerek tanımlarsınız ve ardından Load yöntemini çağırırken ikinci parametre olarak iletirsiniz.

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

MICR toplamda 14 karakter kullanır: 0-9 rakamları ve dört özel sembol. Bu semboller yönlendirme numarası sınırları için geçiş sembolü (⑆), hesap numaralarını ayırmak için on-us sembolü (⑈), kodlanmış miktarlar için miktar sembolü (⑊) ve ayırıcı olarak dash sembolü (⑉) içerir. IronOCR tüm bu MICR'ye özgü karakterleri tanıyabilir.

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

IronOCR ile sadece bir satır kodla MICR verilerini çıkarabilirsiniz. Basitçe MICR olarak ayarlanmış bir IronTesseract örneği oluşturun, görüntünüzü MICR bölgesi belirtilmiş olarak yükleyin, Read() çağırın ve sonuç.Text özelliğine erişerek derhal çıkarılmış MICR dizesini elde edin.

MICR çizgisinden hangi tür finansal bilgiler çıkarılabilir?

IronOCR, MICR çizgisinde kodlanmış tüm kritik finansal verileri çıkarabilir; bunlar, bankayı tanımlayan yönlendirme numarası, belirli bir hesabı tanımlayan hesap numarası ve bireysel çeki benzersiz şekilde tanımlayan çek numarasını içerir. Bu otomatik çıkarma finansal belge işlemeyi hızlandırır.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında lisans derecesine sahiptir (Carleton Üniversitesi) ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirme üzerine uzmanlaşmıştır. Kullanıcı dostu ve estetik açıdan hoş arayüzler tasarlamaya tutkuyla bağlı olan Curtis, modern çerç...

Daha Fazlasını Oku
Başlamaya Hazır mısınız?
Nuget İndirmeler 5,585,834 | Sürüm: 2026.4 just released
Still Scrolling Icon

Hala Kaydiriyor musunuz?

Hızlı bir kanit mi istiyorsunuz? PM > Install-Package IronOcr
örnekleri çalıştır resminizin aranabilir metne donuşünü izleyin.