public class BankCheckReader
Public Class BankCheckReader
public class BankCheckReader
public ref class BankCheckReader
This is a general purpose class that can retrieve machine-printed information from bank check images.
It does not read all types of checks and does not always read all fields.
To extract hand-written text from scanned documents and convert images to text-searchable formats, use the LEADTOOLS ICR Module - OmniPage Engine.
using Leadtools;
using Leadtools.Codecs;
using Leadtools.Forms.Common;
using Leadtools.Ocr;
using Leadtools.Forms.Commands;
public void TestBankCheckReader()
{
// Initialize the RasterCodecs class
RasterCodecs codecs = new RasterCodecs();
// Initialize the BankCheckReader class
BankCheckReader checkReader = new BankCheckReader();
// The bank cheque image
string chequePath = Path.Combine(LEAD_VARS.ImagesDir, "BankCheck.jpg");
RasterImage image = codecs.Load(chequePath);
IOcrEngine ocrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD, false);
ocrEngine.Startup(codecs, null, null, LEAD_VARS.OcrLEADRuntimeDir);
// Assign Engine to Reader
checkReader.OcrEngine = ocrEngine;
//Set MICR code type
checkReader.MicrFontType = BankCheckMicrFontType.E13b;
// handle Process Event
checkReader.Process += new EventHandler<ProgressEventArgs>(reader_Processed);
// Process Image
checkReader.ProcessImage(image);
ocrEngine.Shutdown();
}
void reader_Processed(object sender, ProgressEventArgs e)
{
Console.WriteLine(string.Format("State : {0}%", e.State));
Console.WriteLine(string.Format("Percentage : {0}%", e.Percentage));
Console.WriteLine(string.Format("FieldType : {0}%", e.FieldType.ToString()));
if (e.State == ProcessState.Finish)
{
BankCheckReader reader = sender as BankCheckReader;
foreach (var value in reader.Results)
{
LeadRect bounds = value.Value.Bounds;
Console.WriteLine(string.Format("Field Name : {0}", value.Key));
Console.WriteLine(string.Format("Field Value : {0}", value.Value.Text));
Console.WriteLine(string.Format("Field Bounds : {0},{0},{0},{0}", bounds.X.ToString(), bounds.Y.ToString(), bounds.Width.ToString(), bounds.Height.ToString()));
Console.WriteLine("************************************");
}
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\Users\Public\Documents\LEADTOOLS Images";
public const string OcrLEADRuntimeDir = @"C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime";
}
Imports Leadtools
Imports Leadtools.Codecs
Imports Leadtools.Forms.Common
Imports Leadtools.Ocr
Imports Leadtools.Forms.Commands
Public Sub TestBankCheckReader()
' Initialize the RasterCodecs class
Dim codecs As New RasterCodecs()
' Initialize the BankCheckReader class
Dim checkReader As New BankCheckReader()
' The bank check image
Dim chequePath As String = Path.Combine(LEAD_VARS.ImagesDir, "BankCheck.jpg")
Dim image As RasterImage = codecs.Load(chequePath)
Using ocrEngine As IOcrEngine = OcrEngineManager.CreateEngine(OcrEngineType.LEAD, False)
ocrEngine.Startup(Nothing, Nothing, Nothing, "C:\LEADTOOLS 20\Bin\Common\OcrLEADRuntime")
' Assign Engine to Reader
checkReader.OcrEngine = ocrEngine
' handle Process Event
AddHandler checkReader.Process, AddressOf reader_Processed
' Process Image
checkReader.ProcessImage(image)
End Using
End Sub
Private Sub reader_Processed(sender As Object, e As ProgressEventArgs)
Console.WriteLine(String.Format("State : {0}%", e.State))
Console.WriteLine(String.Format("Percentage : {0}%", e.Percentage))
Console.WriteLine(String.Format("FieldType : {0}%", e.FieldType.ToString()))
If e.State = ProcessState.Finish Then
Dim reader As BankCheckReader = TryCast(sender, BankCheckReader)
If reader IsNot Nothing Then
For Each value As KeyValuePair(Of String, BankCheckField) In reader.Results
Dim bounds As LeadRect = value.Value.Bounds
Console.WriteLine(String.Format("Field Name : {0}", value.Key))
Console.WriteLine(String.Format("Field Value : {0}", value.Value.Text))
Console.WriteLine(String.Format("Field Bounds : {0},{0},{0},{0}", bounds.X.ToString(), bounds.Y.ToString(), bounds.Width.ToString(), bounds.Height.ToString()))
Console.WriteLine("************************************")
Next
End If
End If
End Sub
Public NotInheritable Class LEAD_VARS
Public Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"
End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document