Recognize the type of the unknown page in a raster image with options.
public AutoFormsRecognizePageResult RecognizePage(
RasterImage form,
int pageNumber,
AutoFormsEnginePageRecognitionOptions options
)
form
Image of the unknown page. Must not be null.
pageNumber
The 1-based page number in form. Must be greather than or equal to 1.
options
Options to use during recognition.
The result of the recognition will have the result of the Master Form Page with maximum confidence. If the confidence is less than MinimumConfidenceKnownForm then null is returned, i.e. the form type is unknown and cannot be recognized.
This method compares the unknown page with all Master Forms pages in the repository and returns the Master Form and the number of the page in that Master Form with maximum confidence.
The recognition of the page will stop comparing the form with other Master Forms either when the confidence of the recognition result is greater or equal to MinimumConfidenceRecognized or when the Master Forms have all been compared.
The result of the recognition will have the result of the Master Form Page with maximum confidence. If the confidence is less than MinimumConfidenceKnownForm then null is returned, i.e. the page type is unknown and cannot be recognized.
This method is useful when you have an unknown page and you want to recognize the Master Form to which the page belongs after which you may process the form and extract the data.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Common;
using Leadtools.Forms.Auto;
using Leadtools.Document;
using Leadtools.Ocr;
using Leadtools.Forms.Recognition;
using Leadtools.Forms.Processing;
using Leadtools.Barcode;
using Leadtools.Forms;
public void AutoPageRecognitionAndProcessing1()
{
string root = Path.Combine(LEAD_VARS.ImagesDir, @"Forms\FormsDemo\OCR_Test");
RasterCodecs codecs = new RasterCodecs();
DiskMasterFormsRepository repository = new DiskMasterFormsRepository(codecs, root);
using (IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD))
{
ocrEngine.Startup(null, null, null, LEAD_VARS.OcrLEADRuntimeDir);
BarcodeEngine barcodeEngine = new BarcodeEngine();
AutoFormsEngine autoEngine = new AutoFormsEngine(repository, ocrEngine, barcodeEngine);
//autoEngine.MinimumConfidenceRecognized = autoEngine.GetMinimumRecognizedConfidencePage();
//load all form pages
RasterImage form = codecs.Load(Path.Combine(LEAD_VARS.ImagesDir, @"Forms\Forms to be Recognized\OCR\FCC-107_OCR_Filled.tif"), 1, CodecsLoadByteOrder.Bgr, 1, -1);
AutoFormsRecognizePageResult result = autoEngine.RecognizePage(form, form.Page, new AutoFormsEnginePageRecognitionOptions());
if (result == null)
return;
FormPage pageFields = autoEngine.ProcessPage(form, form.Page, result);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS23\Bin\Common\OcrLEADRuntime";
}