IRONSOFTWAREHOME

Jak odczytać czek MICR za pomocą IronOCR w języku C#

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

Ręczne przetwarzanie czeków jest powolne i podatne na błędy. IronOCR usprawnia ten proces dzięki specjalistycznemu silnikowi, który dokładnie odczytuje linię MICR (Magnetic Ink Character Recognition), umożliwiając automatyczne wyodrębnianie numerów rozliczeniowych, numerów kont i innych kluczowych danych.

Szybki start: OCR – odczyt MICR z obrazu czeku

Użyj IronOCR, aby szybko pobrać linię MICR — wystarczy ustawić Language na MICR, określić prostokątny obszar, w którym pojawia się tekst MICR, uruchomić Read() i natychmiast uzyskać ciąg result.Text. Idealne rozwiązanie dla programistów, którzy chcą niezawodnego pozyskiwania danych finansowych przy minimalnej konfiguracji.

  1. 1Install IronOCR with NuGet Package Manager

    PM > Install-Package IronOcr

  2. 2Skopiuj i uruchom ten fragment kodu.

    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;
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronOCR w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jak odczytać dane MICR z obrazu czeku?

Odczytywanie linii MICR za pomocą IronOCR jest proste i intuicyjne. Rozpocznij od ustawienia właściwości Language instancji IronTesseract na OcrLanguage.Micr. Aby zapewnić, że silnik odczytuje właściwy obszar, określ lokalizację linii MICR, ustawiając prostokątne granice na OcrInput.

Osiąga się to przez wybór współrzędnych x i y oraz wysokości i szerokości prostokąta ograniczającego, a następnie przekazanie prostokąta jako drugiego parametru przy wywoływaniu metody Load. Wywołanie metody Read przetwarza następnie tylko ten zdefiniowany obszar. Połączenie ustawienia języka MICR i konkretnego regionu gwarantuje, że IronOCR dokładnie wyodrębni odpowiednie informacje finansowe.

Technologia MICR wykorzystuje specjalny atrament magnetyczny oraz unikalną czcionkę (E-13B w Ameryce Północnej), która zawiera dokładnie 14 znaków: cyfry od 0 do 9 oraz cztery symbole specjalne. Symbole te obejmują symbol tranzytu (⑆), który oznacza granice numerów tras; symbol "on-us" (⑈), który oddziela numer konta od innych danych; symbol kwoty (⑊), używany do kwot zakodowanych; oraz symbol myślnika (⑉), który służy jako separator. Właściwości magnetyczne tego tuszu pozwalają na niezawodny odczyt nawet wtedy, gdy czeki są złożone, ostemplowane lub lekko uszkodzone, dzięki czemu MICR idealnie nadaje się do przetwarzania dużych ilości czeków.

Jak wygląda czek MICR?

Przykładowy czek pokazujący linię MICR z numerem trasy, numerem konta i numerem czeku oznaczonymi do demonstracji odczytu MICR

Jakie informacje zawiera linia MICR?

Numer czeku: Numer ten jednoznacznie identyfikuje konkretny czek z książeczki czekowej posiadacza rachunku. Służy jako przejrzyste źródło informacji do śledzenia poszczególnych płatności i prowadzenia ewidencji transakcji. W systemach przetwarzania automatycznego numer czeku pomaga zapobiegać podwójnemu przetwarzaniu i ułatwia procedury uzgadniania.

Numer routingu: Ten dziewięciocyfrowy kod, otoczony symbolem tranzytowym ⑆, identyfikuje instytucję finansową prowadzącą rachunek. Jest to pierwsza informacja, którą izba rozliczeniowa wykorzystuje do skierowania czeku do właściwego banku w celu realizacji płatności. Numer routingu ma określony format: pierwsze cztery cyfry oznaczają symbol routingu Rezerwy Federalnej, kolejne cztery identyfikują instytucję, a ostatnia cyfra to suma kontrolna służąca do weryfikacji.

Numer konta: Identyfikuje konkretne konto klienta, z którego zostaną pobrane środki. Jego długość może się różnić w zależności od banku, zazwyczaj wynosi od 10 do 12 cyfr. Banki mogą umieszczać kody wewnętrzne lub identyfikatory oddziałów w strukturze numeru konta.

Jakiego kodu potrzebuję do wyodrębnienia danych MICR?

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);
}

Kod przedstawia kompletny przebieg przetwarzania czeków MICR. Przed uruchomieniem tego kodu upewnij się, że zainstalowałeś pakiet językowy MICR za pośrednictwem NuGet. Klasa OcrInput oferuje potężne metody ładowania i wstępnego przetwarzania obrazów, a parametr Rectangle pozwala na precyzyjne określenie lokalizacji linii MICR.

Jakich rezultatów mogę się spodziewać?

Konsola debugowania pokazująca wyniki analizy MICR wraz z numerami tranzytowymi, routingu i numerami kont wyodrębnionymi z czeku

Powyższy wynik pokazuje trzy sekcje uzyskane z czeku MICR: numer tranzytowy, numer routingu i numer konta. Zwróć uwagę na sposób przedstawienia specjalnych symboli MICR w wynikach — jest to normalne zachowanie, ponieważ symbole te mają określone reprezentacje Unicode, które mogą wyglądać inaczej w wynikach konsoli.

Wyniki MICR OCR

Obiekt OcrResult dostarcza szczegółowych informacji o skanowaniu:

Text: Wydobyty tekst z OcrInput. Obejmuje to wszystkie znaki i symbole z linii MICR, zachowując ich oryginalną kolejność.

Pewność: Wskazuje statystyczną pewność dokładności średniej dla każdego znaku, gdzie 1 oznacza najwyższą, a 0 najniższą. W przypadku odczytu MICR typowe są poziomy pewności powyżej 0,9 ze względu na znormalizowany projekt czcionki. Dowiedz się więcej o śledzeniu pewności wyników OCR.

Bloki, akapity, wiersze i słowa: Hierarchiczna struktura rozpoznanego tekstu, która w przypadku MICR zazwyczaj składa się z jednego wiersza z wieloma segmentami słów oddzielonymi symbolami.

Dane BarCode: Podczas przetwarzania MICR, IronOCR może jednocześnie wykrywać wszelkie kody kreskowe lub kody QR obecne na czeku.

Jak mogę zweryfikować prawidłowy obszar OCR?

Aby upewnić się, że wybrałeś prawidłowe współrzędne dla linii MICR, możesz wyświetlić zdefiniowany obszar ContentArea. Prosty sposób na to, aby to zrobić, to narysować prostokąt na obrazie wejściowym i zapisać go jako nowy plik z StampCropRectangleAndSaveAs. Pomaga to w debugowaniu i precyzyjnym dostosowywaniu współrzędnych w celu uzyskania optymalnej wydajności.

Aby znaleźć współrzędne dla Rectangle, użyj prostego edytora obrazów, takiego jak MS Paint. Otwórz obraz czeku, najedź myszą nad górnym lewym i dolnym prawym narożnikiem linii MICR i zanotuj współrzędne pikseli (x,y). Następnie można obliczyć właściwości prostokąta: (x1, y1, width, height), gdzie width = x2-x1 i height = y2-y1.

Aby poznać bardziej zaawansowane techniki wyboru regionów, zapoznaj się z kierowaniem reklam na regiony OCR i obszary treści w plikach PDF.

Oto obrazek wynikowy po narysowaniu określonego prostokąta ograniczającego na naszym przykładowym czeku.

Wynik

Wiersz MICR zawierający numer rozliczeniowy, numer konta i numer czeku zaznaczony na czerwono

Jasnoniebieski prostokąt potwierdza, że poprawnie wyodrębniliśmy linię MICR do przetworzenia.

Wskazówki dotyczące optymalizacji wydajności

Podczas przetwarzania wielu czeków warto rozważyć wdrożenie wielowątkowości w celu poprawy wydajności. IronOCR sprawnie obsługuje operacje wykonywane jednocześnie:

// 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);
    }
});

Typowe scenariusze rozwiązywania problemów

Skanowanie niskiej jakości: Jeśli pracujesz z obrazami kontrolnymi o niskiej jakości, zastosuj filtry przetwarzania wstępnego obrazu, aby poprawić czytelność. Charakterystyczny kształt czcionki MICR pomaga zachować dokładność nawet w przypadku obrazów o obniżonej jakości.

Nieprawidłowe rozpoznawanie znaków: Upewnij się, że masz zainstalowany najnowszy pakiet językowy MICR. Specjalistyczna konfiguracja językowa MICR jest specjalnie przeszkolona do rozpoznawania czcionki E-13B.

Zmienne pozycje linii MICR: Różne banki mogą umieszczać linię MICR w nieco innych miejscach. Rozważ wdrożenie dynamicznego wykrywania regionu lub prowadzenie pliku konfiguracyjnego z współrzędnymi dla różnych formatów sprawdzania.

Powiązane przetwarzanie dokumentów finansowych

Możliwości IronOCR wykraczają poza przetwarzanie czeków. Zapoznaj się z poniższymi powiązanymi funkcjami, które zapewniają kompleksową automatyzację dokumentów finansowych:

Opanowując odczyt MICR za pomocą IronOCR, zrobiłeś pierwszy krok w kierunku w pełni zautomatyzowanego przetwarzania dokumentów finansowych, zmniejszając liczbę błędów związanych z ręcznym wprowadzaniem danych i znacznie przyspieszając przepływ pracy.

Często Zadawane Pytania

Co to jest MICR i dlaczego jest ważny do przetwarzania czeków?

MICR (Magnetic Ink Character Recognition) to technologia, która uzywa specjalnego tuszu magnetycznego i unikalnych czcionek do kodowania informacji finansowych na czekach. Specjalistyczny silnik MICR IronOCR moze dokladnie odczytywac te zakodowane dane, w tym numery tras, numery kont i numery czekow, automatyzujac to, co inaczej byloby powolnym i podatnym na bledy procesem manualnym.

Jak skonfigurować silnik OCR do czytania tekstu MICR?

Aby czytać tekst MICR za pomocą IronOCR, należy ustawić właściwość Language instancji IronTesseract na OcrLanguage.MICR. Informuje to silnik o korzystaniu ze specjalizowanych algorytmów rozpoznawania znaków MICR, zaprojektowanych specjalnie do czytania czcionki E-13B używanej na czekach.

Czy mogę dokładnie określić, gdzie na czeku szukać danych MICR?

Tak, IronOCR pozwala na dokładne określenie położenia linii MICR, ustawiając prostokątne granice na OcrInput. Definiujesz to, wybierając wspołrzędne x i y oraz wysokość i szerokość prostokąta obramowania, a następnie przekazując go jako drugi parametr podczas wywoływania metody Load.

Jakie znaki specjalne są używane w kodowaniu MICR?

MICR używa łącznie 14 znaków: cyfry 0-9 i cztery specjalne symbole. Obejmują one symbol tranzytu (⑆) dla granic numerów tras, symbol na-wlasny (⑈) do oddzielania numerów kont, symbol kwoty (⑊) dla zakodowanych kwot i symbol myślnika (⑉) jako separator. IronOCR potrafi rozpoznać wszystkie te znaki specyficzne dla MICR.

Jak szybko mogę wyodrębnić dane MICR z obrazu czeku?

Z IronOCR mozesz wyodrębnić dane MICR w zaledwie jednej linii kodu. Po prostu utwórz instancje IronTesseract z ustawionym językiem na MICR, załaduj swoj obraz z określonym regionem MICR, wywołaj Read(), a następnie uzyskaj dostęp do właściwości result.Text, aby natychmiast otrzymać wyodrębniony ciąg MICR.

Jakie rodzaje informacji finansowych można wyodrębnić z linii MICR?

IronOCR moze wyodrębnić wszystkie kluczowe dane finansowe zakodowane w linii MICR, w tym numer rozliczeniowy (identyfikujący bank), numer konta (identyfikujący konkretne konto) i numer czeku (unikalnie identyfikujący pojedynczy czek). Ta zautomatyzowana ekstrakcja usprawnia przetwarzanie dokumentów finansowych.

Does IronOCR support multithreading for processing multiple checks?

Yes, IronOCR supports multithreading, allowing you to process multiple checks simultaneously. This feature can significantly improve performance, especially in high-volume environments.

What other financial document processing capabilities does IronOCR offer?

Beyond MICR reading, IronOCR can extract data from scanned invoices, process identity documents for KYC compliance, and read tables in financial statements, providing comprehensive automation for financial documents.

How can I verify the extracted MICR data using IronOCR?

IronOCR provides an `OcrResult` object that includes the extracted text, confidence levels, and additional data like words and lines. You can also visualize the targeted OCR region on the input image to ensure correctness.

What should I do if IronOCR incorrectly recognizes characters in the MICR line?

Ensure that the MICR language pack is up to date and correctly installed. The specialized MICR language configuration in IronOCR is specifically designed for recognizing the E-13B font used in MICR lines.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 6,236,385Wersja:2026.9właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronOcr
nuget.org/packages/IronOcr/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i szukaj „IronOCR”
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

lub pobierz Instalator Windows tutaj.

  1. Pobierz i rozpakuj IronOCR do lokalizacji, takiej jak ~/Libs w katalogu Solution
  2. W Eksploratorze rozwiązań Visual Studio kliknij prawym przyciskiem myszy Odwołania. Wybierz Przeglądaj, „IronOCR.dll”

Licencje od 749 USD

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Otrzymaj swoją Konsultację Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta