Performs automatic image processing clean up on the image to enhance the quality of the page before beginning recognition.
void AutoPreprocess(
Leadtools.Forms.Ocr.OcrAutoPreprocessPageCommand command,
Leadtools.Forms.Ocr.OcrProgressCallback callback
)
Sub AutoPreprocess( _
ByVal command As Leadtools.Forms.Ocr.OcrAutoPreprocessPageCommand, _
ByVal callback As Leadtools.Forms.Ocr.OcrProgressCallback _
)
void AutoPreprocess(
Leadtools.Forms.Ocr.OcrAutoPreprocessPageCommand command,
Leadtools.Forms.Ocr.OcrProgressCallback callback
)
- (BOOL)autoPreprocess:(LTOcrAutoPreprocessPageCommand)command
progress:(nullable LTOcrProgressHandler)progressHandler
error:(NSError **)error
function Leadtools.Forms.Ocr.IOcrPage.AutoPreprocess(
command ,
callback
)
void AutoPreprocess(
Leadtools.Forms.Ocr.OcrAutoPreprocessPageCommand command,
Leadtools.Forms.Ocr.OcrProgressCallback^ callback
)
command
The preprocessing command to perform.
callback
Optional callback to show operation progress.
Use this method to deskew, rotate or invert the image according to command. By performing auto pre-processing on a page, you can improve the image quality of draft mode faxes.
Use the OcrProgressCallback to show the operation progress or to abort it. For more information and an example, refer to OcrProgressCallback.
Call this method prior to calling Recognize.
This method will call GetDeskewAngle, GetRotateAngle and IsInverted to determine whether the page needs processing, if the page does, this method will internally deskews, rotates or inverts the image accordingly.
If the image is skewed, GetDeskewAngle will return the angle needed to deskew the image, if you call AutoPreprocess on the page, all subsequent calls to GetDeskewAngle will return 0 since the image is no longer skewed. Same with GetRotateAngle and IsInverted.
Use GetPreprocessValues to obtain the accumulative pre-processing values applied to this IOcrPage.
This method works on both the current and processing version of the image. For example, if you add a page that is skewed and call AutoPreprocess width OcrAutoPreprocessPageCommand.Deskew, then obtain either the current or processing images with GetRasterImage, you will get two raster image objects that are both rotated (deskewed).
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Ocr;
using Leadtools.Forms;
using Leadtools.Forms.DocumentWriters;
using Leadtools.WinForms;
using Leadtools.Drawing;
using Leadtools.ImageProcessing;
using Leadtools.ImageProcessing.Color;
public void AutoPreprocessExample()
{
string tifFileName = Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif");
string pdfFileName = Path.Combine(LEAD_VARS.ImagesDir, "Clean.pdf");
// Create an instance of the engine
using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, false))
{
// Start the engine using default parameters
ocrEngine.Startup(null, null, null, LEAD_VARS.OcrAdvantageRuntimeDir);
// Create an OCR document
using (IOcrDocument ocrDocument = ocrEngine.DocumentManager.CreateDocument())
{
// Add this image to the document
IOcrPage ocrPage = ocrDocument.Pages.AddPage(tifFileName, null);
// Auto-preprocess it
ocrPage.AutoPreprocess(OcrAutoPreprocessPageCommand.Deskew, null);
ocrPage.AutoPreprocess(OcrAutoPreprocessPageCommand.Invert, null);
ocrPage.AutoPreprocess(OcrAutoPreprocessPageCommand.Rotate, null);
// 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();
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
public const string OcrAdvantageRuntimeDir = @"C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms.Ocr
Imports Leadtools.Forms
Imports Leadtools.Forms.DocumentWriters
Imports Leadtools.WinForms
Imports Leadtools.Drawing
Imports Leadtools.ImageProcessing
Imports Leadtools.ImageProcessing.Color
<TestMethod>
Public Sub AutoPreprocessExample()
Dim tifFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Clean.tif")
Dim pdfFileName As String = Path.Combine(LEAD_VARS.ImagesDir, "Clean.pdf")
' Create an instance of the engine
Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.Advantage, False)
' Start the engine using default parameters
ocrEngine.Startup(Nothing, Nothing, Nothing, LEAD_VARS.OcrAdvantageRuntimeDir)
' Create an OCR document
Using ocrDocument As IOcrDocument = ocrEngine.DocumentManager.CreateDocument()
' Add this image to the document
Dim ocrPage As IOcrPage = ocrDocument.Pages.AddPage(tifFileName, Nothing)
' Auto-preprocess it
ocrPage.AutoPreprocess(OcrAutoPreprocessPageCommand.Deskew, Nothing)
ocrPage.AutoPreprocess(OcrAutoPreprocessPageCommand.Invert, Nothing)
ocrPage.AutoPreprocess(OcrAutoPreprocessPageCommand.Rotate, Nothing)
' Recognize it and save it as PDF
ocrPage.Recognize(Nothing)
ocrDocument.Save(pdfFileName, DocumentFormat.Pdf, Nothing)
End Using
' Shutdown the engine
' Note: calling Dispose will also automatically shutdown the engine if it has been started
ocrEngine.Shutdown()
End Using
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
Public Const OcrAdvantageRuntimeDir As String = "C:\LEADTOOLS 19\Bin\Common\OcrAdvantageRuntime"
End Class
Products |
Support |
Feedback: AutoPreprocess Method (IOcrPage) - Leadtools.Forms.Ocr |
Introduction |
Help Version 19.0.2017.6.6
|
Raster .NET | C API | C++ Class Library | JavaScript HTML5
Document .NET | C API | C++ Class Library | JavaScript HTML5
Medical .NET | C API | C++ Class Library | JavaScript HTML5
Medical Web Viewer .NET
Your email has been sent to support! Someone should be in touch! If your matter is urgent please come back into chat.
Chat Hours:
Monday - Friday, 8:30am to 6pm ET
Thank you for your feedback!
Please fill out the form again to start a new chat.
All agents are currently offline.
Chat Hours:
Monday - Friday
8:30AM - 6PM EST
To contact us please fill out this form and we will contact you via email.