# include“ltocr.h”
L_LTOCR_APIL_INTEXT_FUNCTIONL_OcrPage_GetText(页面、zoneIndex数据)
提取磁性墨水字符识别(显微镜)的数据为该区域识别数据。
处理到OCR页面。
零基础指数的区域。
地址L_OcrMICRData结构变量与提取区小更新的数据识别数据。
价值 | 意义 |
---|---|
成功 | 函数是成功的。 |
< 1 | 一个错误发生。指返回代码。 |
该方法将试图提取磁性墨水字符识别(显微镜)数据从该区域识别数据和格式化成一个通过读取字符L_OcrMICRData数据结构。
这种方法一般应使用只有在欧元区将L_OcrZoneType_MICR类型。方法将使用显微镜标准解析结果,如“数量”和“路由号码”和付诸的等效特性了L_OcrMICRData。
LEADTOOLS OCR模块-铅引擎,Recognition.CharacterFilter相关”。PostprocessMICR”设置控制页面将如何处理小数据。L_TRUE如果这个值设置时,引擎将会下降的任何字符不是显微镜标准的结果。
必需的dll和库
L_INT L_OcrPage_ExtractZoneMICRDataExample ()
{
BITMAPHANDLE位图= {0};
L_OcrEngine ocrEngine =零;
L_OcrPage ocrPage =零;
/ /创建一个实例的引擎
L_INT retCode = L_OcrEngineManager_CreateEngine (L_OcrEngineType_Advantage &ocrEngine);
如果(retCode = =成功)
{
/ /启动引擎使用默认参数
retCode = L_OcrEngine_Startup (ocrEngine, NULL, OCR_ADVANTAGE_RUNTIME_DIR);
如果(retCode ! =成功)
返回retCode;
/ /加载一个页面被认可
retCode = L_LoadBitmap (MAKE_IMAGE_PATH (L_TEXT (“MICR_SAMPLE.tif”)),位图,运算符(BITMAPHANDLE), 0 ORDER_RGB空,空);
如果(retCode ! =成功)
转到清理;
/ /添加一个图像OCR页面。不转移所有权的位图页面
retCode = L_OcrPage_FromBitmap (ocrEngine &ocrPage,位图,L_OcrBitmapSharingMode_None, NULL, NULL);
如果(retCode ! =成功)
转到清理;
L_RECT rcSearchArea = {0};
L_RECT rcMicrArea = {0};
rcSearchArea。左= 0;
rcSearchArea。顶级= 0;
rcSearchArea。正确的= bitmap.Width;
rcSearchArea。底= bitmap.Height;
retCode = L_MICRDetection(位图,rcSearchArea &rcMicrArea 0);
如果(rcMicrArea。——rcMicrArea。& & rcMicrArea左= = 0。底部——rcMicrArea。= = 0)
{
/ /如果空矩形然后L_MICRDetection函数返回检测到没有小区域,所以清理并退出
转到清理;
}
/ /创建小区域并将其插入到OCR页面
L_OcrZone micrZone = {0};
L_OcrZone_Default (&micrZone);
micrZone。ZoneType = L_OcrZoneType_Micr;
micrZone。边界= rcMicrArea;
retCode = L_OcrPage_InsertZone (ocrPage 0 &micrZone);
如果(retCode ! =成功)
转到清理;
/ /识别页面
retCode = L_OcrPage_Recognize (ocrPage,空,空);
如果(retCode ! =成功)
转到清理;
L_INT zoneIndex = 1;
L_OcrPage_IndexOfZone (ocrPage &micrZone &zoneIndex);
如果(retCode ! =成功)
转到清理;
L_OcrMICRData micrData = {0};
retCode = L_OcrPage_ExtractZoneMICRData (ocrPage zoneIndex &micrData);
如果(retCode ! =成功)
转到清理;
/ /显示公认的小区域的数据
std:: wcout < < L“小区域数据:“< < std:: endl;
std:: wcout < < L辅助:“< < micrData。辅助< < std:: endl;
std:: wcout < < LEPC:“< < micrData。EPC < < std:: endl;
std:: wcout < < L“路由:“< < micrData。路由< < std:: endl;
std:: wcout < < L”解释:“< < micrData。账户< < std:: endl;
std:: wcout < < L”CheckNumber:“< < micrData。CheckNumber < < std:: endl;
std:: wcout < < L数量:“< < micrData。量< < std:: endl;
/ / Un-recognize页面
L_OcrPage_Unrecognize (ocrPage);
/ /删除区域,我们添加了
L_OcrPage_RemoveZone (ocrPage &micrZone);
/ /将页面添加到基于文件的文档将乱射的识别数据并将其存储在文档中。在这
/ /点,不再需要的页面。所以破坏它释放内存不再使用了
L_OcrPage_Destroy (ocrPage);
/ /设置处理为零所以我们不免费清理代码
ocrPage =零;
}
清理:
如果(bitmap.Flags.Allocated)
L_FreeBitmap(位图);
如果(ocrPage ! = NULL)
L_OcrPage_Destroy (ocrPage);
如果(ocrEngine ! = NULL)
L_OcrEngine_Destroy (ocrEngine);
返回retCode;
}