Ճանաչել MICR-ը E-13B նիշերը .NET ֆայլի պատկերից

Բլոգի կատեգորիա՝ OCR.NET

17.02.2022

VintaSoft Imaging .NET SDKVintaSoft OCR .NET Plug-in-ով թույլ է տալիս ճանաչել տեքստը պատկերներից՝ օգտագործելով Tesseract OCR շարժիչը: Tesseract OCR շարժիչի համար ստեղծված բազմաթիվ բառարաններ հնարավորություն են տալիս տեքստի ճանաչում իրականացնել ավելի քան 100 լեզուներով:

Ինտերնետում քիչ հեղինակներ են առաջարկում իրենց անվճար բառարանները MICR E-13B սիմվոլների ճանաչման համար՝ օգտագործելով Tesseract OCR շարժիչը:
Մենք փորձարկել ենք դրանցից մի քանիսը և համոզվել, որ "e13b.traineddata" բառարանը ապահովում է MICR E-13B սիմվոլների ճանաչման լավ որակ, որը համեմատելի է պրոֆեսիոնալ MICR E-13B սիմվոլների ճանաչման որակի հետ:
"e13b.traineddata" բառարանը առաջարկվում է BSD-3 լիցենզիայով, որը թույլ է տալիս ազատորեն օգտագործել և վերաբաշխել այս ֆայլը:
Մենք "e13b.traineddata" բառարանը հասանելի ենք դարձնում ներբեռնման համար մեր կայքից, ինչպես նաև բառարանը կարելի է ներբեռնել այլ ինտերնետային ռեսուրսներից:

"e13b.traineddata" բառարանը ավելացվել է աջակցվող բառարանների ցանկին (MICR տարր Vintasoft.Imaging.Ocr.OcrLanguage թվարկման մեջ)՝ սկսած VintaSoft OCR .NET Plug-in-ի 11.0.5.1 տարբերակից։

MICR սիմվոլների մասին ավելի մանրամասն տեղեկություններ կարող եք կարդալ Վիքիպեդիայում՝ https://en.wikipedia.org/wiki/Magnetic_ink_character_recognition

Ահա Վիքիպեդիայից մի պատկեր, որը ներկայացնում է MICR E-13B սիմվոլները՝



Ահա C# կոդը, որը ցույց է տալիս, թե ինչպես ճանաչել MICR E-13B սիմվոլները պատկերից՝ օգտագործելով Tesseract OCR շարժիչը.
/// <summary>
/// Recognizes MICR E-13B characters from image using Tesseract OCR engine.
/// </summary>
/// <param name="filename">The name of file, which stores images with MICR E-13B characters.</param>
public static void RecognizeMicrE13BCharactersUsingTesseractOCR(string filename)
{
    // create an image collection
    using (Vintasoft.Imaging.ImageCollection images = 
        new Vintasoft.Imaging.ImageCollection())
    {
        // add images from file to the image collection
        images.Add(filename);

        System.Console.WriteLine("Create Tesseract OCR engine...");
        // create the Tesseract OCR engine
        using (Vintasoft.Imaging.Ocr.Tesseract.TesseractOcr tesseractOcr = 
            new Vintasoft.Imaging.Ocr.Tesseract.TesseractOcr())
        {
            System.Console.WriteLine("Initialize OCR engine...");
            // init the Tesseract OCR engine for recognition of MICR E-13B characters
            tesseractOcr.Init(new Vintasoft.Imaging.Ocr.OcrEngineSettings(Vintasoft.Imaging.Ocr.OcrLanguage.MICR));

            // for each image in image collection
            foreach (Vintasoft.Imaging.VintasoftImage image in images)
            {
                System.Console.WriteLine("Recognize the image...");
                
                // recognize text in image
                Vintasoft.Imaging.Ocr.Results.OcrPage ocrResult = tesseractOcr.Recognize(image);

                // output the recognized text

                System.Console.WriteLine("Page Text:");
                System.Console.WriteLine(ocrResult.GetText());
                System.Console.WriteLine();
            }

            // shutdown the Tesseract OCR engine
            tesseractOcr.Shutdown();
        }

        // free images
        images.ClearAndDisposeItems();
    }
}