←Select platform

OcrStatistic Structure

Summary
Represents processing statistic data.
Syntax
C#
Objective-C
C++/CLI
Java
Python
[SerializableAttribute()] 
public struct OcrStatistic 
@interface LTOcrStatistic : NSObject 
public class OcrStatistic 
[SerializableAttribute()] 
public value class OcrStatistic : public System.ValueType  
class OcrStatistic: 
Remarks

This structure contains the accuracy and timing data of the latest successful recognition process.

To obtain the statistic, use GetLastStatistic.

Note that the time spent for the text post-processing can be calculated as follows: PostProcessingTime = statistic.ReadingTime - statistic.RecognitionTime.

Note: Only the following members are available for the LEADTOOLS OCR Module - LEAD Engine

Example

This example will show the statistics of the last recognition operation on a page.

C#
Java
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.Ocr; 
using Leadtools.Document.Writer; 
 
public void OcrStatisticExample() 
{ 
   // 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); 
 
      string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.tif"); 
      string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Ocr1.pdf"); 
 
      // Create an OCR page 
      using (IOcrPage ocrPage = ocrEngine.CreatePage(ocrEngine.RasterCodecsInstance.Load(tifFileName, 1), OcrImageSharingMode.AutoDispose)) 
      { 
         // Process the page 
         ocrPage.AutoPreprocess(OcrAutoPreprocessPageCommand.Deskew, null); 
 
         // Recognize the page 
         // Note, Recognize can be called without calling AutoZone or manually adding zones. The engine will 
         // check and automatically auto-zones the page 
         ocrPage.Recognize(null); 
 
         // Show the statistic about the last recognize operation 
         OcrStatistic statistic = ocrEngine.GetLastStatistic(); 
         Console.WriteLine("Recognized characters: {0}", statistic.RecognizedCharacters); 
         Console.WriteLine("Recognized words: {0}", statistic.RecognizedWords); 
         Console.WriteLine("Rejected characters: {0}", statistic.RejectedCharacters); 
         Console.WriteLine("Corrected words: {0}", statistic.CorrectedWords); 
         Console.WriteLine("Recognition time: {0} ms", statistic.RecognitionTime); 
         Console.WriteLine("Reading time: {0} ms", statistic.ReadingTime); 
         Console.WriteLine("Image Preprocessing time: {0} ms", statistic.ImagePreprocessingTime); 
         Console.WriteLine("Decomposition time: {0} ms", statistic.DecompositionTime); 
         Console.WriteLine("Post processing time: {0} ms", statistic.ReadingTime - statistic.RecognitionTime); 
      } 
 
      // Shutdown the engine 
      // Note: calling Dispose will also automatically shutdown the engine if it has been started 
      ocrEngine.Shutdown(); 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images"; 
   public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime"; 
} 
 
import java.io.File; 
import java.io.IOException; 
import java.nio.file.Files; 
import java.nio.file.Path; 
import java.nio.file.Paths; 
 
import org.junit.*; 
import org.junit.runner.JUnitCore; 
import org.junit.runner.Result; 
import org.junit.runner.notification.Failure; 
import static org.junit.Assert.assertTrue; 
 
import leadtools.*; 
import leadtools.codecs.*; 
import leadtools.document.writer.*; 
import leadtools.ocr.*; 
 
 
public void IOcrStatisticExample() { 
   final String OCR_LEAD_RUNTIME_DIR = "C:\\LEADTOOLS23\\Bin\\Common\\OcrLEADRuntime"; 
   final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images"; 
 
   // Create an instance of the engine 
   OcrEngine ocrEngine = OcrEngineManager.createEngine(OcrEngineType.LEAD); 
 
   // Start the engine using default parameters 
   ocrEngine.startup(null, null, null, OCR_LEAD_RUNTIME_DIR); 
   assertTrue(ocrEngine.isStarted()); 
 
   String tifFileName = combine(LEAD_VARS_IMAGES_DIR, "Ocr1.tif"); 
 
   // Create an OCR page 
   OcrPage ocrPage = ocrEngine.createPage( 
         ocrEngine.getRasterCodecsInstance().load(tifFileName, 1), 
         OcrImageSharingMode.AUTO_DISPOSE); 
 
   // Process the page 
   ocrPage.autoPreprocess(OcrAutoPreprocessPageCommand.DESKEW, null); 
 
   // Recognize the page 
   // Note, Recognize can be called without calling AutoZone or manually adding 
   // zones. The engine will 
   // check and automatically auto-zones the page 
   ocrPage.recognize(null); 
 
   // Show the statistic about the last recognize operation 
   OcrStatistic statistic = ocrEngine.getLastStatistic(); 
   assertTrue("Statistics have been received", statistic != null); 
   System.out.printf("Recognized characters: %s%n", statistic.getRecognizedCharacters()); 
   System.out.printf("Recognized words: %s%n", statistic.getRecognizedWords()); 
   System.out.printf("Rejected characters: %s%n", statistic.getRejectedCharacters()); 
   System.out.printf("Corrected words: %s%n", statistic.getCorrectedWords()); 
   System.out.printf("Recognition time: %s ms%n", statistic.getRecognitionTime()); 
   System.out.printf("Reading time: %s ms%n", statistic.getReadingTime()); 
   System.out.printf("Image Preprocessing time: %s ms%n", statistic.getImagePreprocessingTime()); 
   System.out.printf("Decomposition time: %s ms%n", statistic.getDecompositionTime()); 
   System.out.printf("Post processing time: %s ms%n", statistic.getReadingTime() - statistic.getRecognitionTime()); 
 
   // Shutdown the engine 
   // Note: calling Dispose will also automatically shutdown the engine if it has 
   // been started 
   ocrEngine.shutdown(); 
} 
Requirements

Target Platforms

Help Version 23.0.2024.4.19
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Ocr Assembly
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.