Recognize Method (original) (raw)

Summary

Recognizes the OCR data found on this IOcrPage.

Syntax

C#

Objective-C

C++/CLI

Java

Python

- (BOOL)recognize:(nullable LTOcrProgressHandler)progressHandler error:(NSError **)error 
public void recognize(OcrProgressListener callback) 

Parameters

callback
Optional callback to show operation progress.

Example

using Leadtools; using Leadtools.Codecs; using Leadtools.Ocr; using Leadtools.Forms.Common; using Leadtools.Document.Writer; using Leadtools.WinForms; using Leadtools.Drawing; using Leadtools.ImageProcessing; using Leadtools.ImageProcessing.Color; public void OcrPageExample() { string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif"); string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf"); // Create an instance of the engine using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD)) { // Start the engine using default parameters ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir); // Create an OCR document using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument()) { // Add this image to the document IOcrPage ocrPage = ocrDocument.Pages.AddPage(tifFileName, null); // Auto-recognize the zones in the page ocrPage.AutoZone(null); // Show its information Console.WriteLine("Size: {0} by {1} pixels", ocrPage.Width, ocrPage.Height); Console.WriteLine("Resolution: {0} by {1} dots/inch", ocrPage.DpiX, ocrPage.DpiX); Console.WriteLine("Bits/Pixel: {0}, Bytes/Line: {1}", ocrPage.BitsPerPixel, ocrPage.BytesPerLine); byte[] palette = ocrPage.GetPalette(); int paletteEntries; if (palette != null) paletteEntries = palette.Length / 3; else paletteEntries = 0; Console.WriteLine("Number of entries in the palette: {0}", paletteEntries); Console.WriteLine("Original format of this page: {0}", ocrPage.OriginalFormat); Console.WriteLine("Has this page been recognized? : {0}", ocrPage.IsRecognized); ShowZonesInfo(ocrPage); // Recognize it and save it as PDF ocrPage.Recognize(null); ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, null); } // Shutdown the engine // Note: calling Dispose will also automatically shutdown the engine if it has been started ocrEngine.Shutdown(); } } private void ShowZonesInfo(IOcrPage ocrPage) { Console.WriteLine("Zones:"); foreach (OcrZone ocrZone in ocrPage.Zones) { int index = ocrPage.Zones.IndexOf(ocrZone); Console.WriteLine("Zone index: {0}", index); Console.WriteLine(" Id {0}", ocrZone.Id); Console.WriteLine(" Bounds {0}", ocrZone.Bounds); Console.WriteLine(" ZoneType {0}", ocrZone.ZoneType); Console.WriteLine(" CharacterFilters: {0}", ocrZone.CharacterFilters); Console.WriteLine("----------------------------------"); } } static class LEAD_VARS { public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS22\Bin\Common\OcrLEADRuntime"; }