L_FindCandidateFormFields

# include“l_bitmap.h”

L_LTIMGCOR_APIL_INTL_FindCandidateFormFields (pBitmap pOptions pOutputs)

从位图提取候选表单字段使用各种选项。有两个主要类型的字段:文本字段和有机磁共振字段。

参数

pBITMAPHANDLEpBitmap

位图句柄指针引用处理位图。

FIND_CANDIDATE_FORM_FIELDS_OPTIONS* pOptions

领域检测选项。这个值不能为空。

FIND_CANDIDATE_FORM_FIELDS_OUTPUTS* pOutputs

指针与提取的字段被更新。

返回

价值 意义
成功 函数是成功的。
< 1 一个错误发生。指返回代码

评论

抗扭斜图像首先,如果它是倾斜的。

L_FindCandidateFormFields支持8位,12位和16位灰度图像,支持24位,32位,48比特位和64位彩色图像。

L_FindCandidateFormFields不支持设置矩形区域。

L_FindCandidateFormFields不支持32位灰度图像。它返回错误代码ERROR_GRAY32_UNSUPPORTED如果一个32位的灰度图像是传递给这个函数。

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

例子

从位图提取候选表单字段使用各种选项。

L_INT FindCandidateFormFieldsExample (L_VOID){L_INT nRet =成功;BITMAPHANDLE InputBitmap = {0};FIND_CANDIDATE_FORM_FIELDS_OPTIONS选项;FIND_CANDIDATE_FORM_FIELDS_OUTPUTS * pOutputs =零;也就是说红= RGB (255, 0, 0);也就是说青色= RGB (0255255);也就是说蓝= RGB (0, 0255);也就是说绿色= RGB (0255 0);选项。uVerticalLineMinimumLength = 3;选项。uHorizontalLineMinimumLength = 10;选项。uStructSize =运算符(FIND_CANDIDATE_FORM_FIELDS_OPTIONS);L_TCHAR szBuffer1 [100];wsprintf (szBuffer1文本(“D: \ \ \ \有机磁共振\ \ 300 _omr_sample.tif”形式));nRet = L_LoadBitmap (szBuffer1 &InputBitmap,运算符(BITMAPHANDLE), 0 ORDER_BGRORGRAY空,空);nRet = L_FindCandidateFormFields(选项,&InputBitmap &pOutputs);如果(nRet ! =成功){转到清理;}L_HDC hDC =零;HPEN HPEN =零;/ /标准化图纸如果(pBitmap - > ViewPerspective ! = TOP_LEFT){nRet = L_ChangeBitmapViewPerspective (pBitmap pBitmap,运算符(BITMAPHANDLE) TOP_LEFT);如果(nRet ! =成功)转到清理;}如果(pBitmap - > BitsPerPixel ! = 24){nRet = L_ColorResBitmap (pBitmap pBitmap,运算符CRF_BYTEORDERBGR (BITMAPHANDLE), 24日,空,空,0,空,空);如果(nRet ! =成功)转到清理;}/ /开始画的形象hDC = L_CreateLeadDC (pBitmap);如果(hDC = = NULL)转到清理;/ /不填SelectObject (hDC GetStockObject (NULL_BRUSH));(L_UINT我= 0;我< pOutputs - > TextFields.uCount;我+ +){矩形矩形= pOutputs - > TextFields.pTextFieldAreas[我].rcBounds;也就是说颜色= (pOutputs - > TextFields.pTextFieldAreas[我]。uFieldType = = TEXT_FIELD_TYPE_BOX) ?青色:蓝色;hPen = CreatePen (PS_SOLID 2颜色);如果(hPen = = NULL)转到清理;SelectObject (hDC hPen);矩形(hDC、rect.left rect.top、rect.right rect.bottom);DeleteObject (hPen);矩形= pOutputs - > TextFields.pTextFieldAreas[我].rcFilledAreaBounds;颜色=红;DeleteObject (hPen);hPen = CreatePen (PS_SOLID 2颜色);如果(hPen = = NULL)转到清理;SelectObject (hDC hPen);矩形(hDC、rect.left rect.top、rect.right rect.bottom);DeleteObject (hPen);}也就是说颜色=绿色;hPen = CreatePen (PS_SOLID 2颜色);如果(hPen = = NULL)转到清理;SelectObject (hDC hPen);(L_UINT我= 0;我< pOutputs - > OMRFields.uCount;我+ +){矩形矩形= pOutputs - > OMRFields.pOMRFieldAreas[我].rcUnfilledBound;如果(pOutputs - > OMRFields.pOMRFieldAreas[我]。uFieldType = = OMR_FIELD_TYPE_BOX){矩形(hDC、rect.left rect.top、rect.right rect.bottom);}其他的{椭圆(hDC、rect.left rect.top、rect.right rect.bottom);}}/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /清理:如果(hPen ! = NULL)DeleteObject (hPen);如果(hDC ! = NULL)L_DeleteLeadDC (hDC);/ /自由加载图片如果(InputBitmap.Flags.Allocated)L_FreeBitmap (&InputBitmap);/ /自由的结果L_FindCandidateFormFieldsFree (&pOutputs);返回nRet;}

LEADTOOLS光栅成像C API的帮助