当用户扫描形式,扰动或转换被添加到图像如旋转、缩放,减少和翻译(转移的位置)。这些影响很难识别的不同部分的形式,使检测和识别阶段。
登记标志可用于帮助识别和定位的不同部分的形式。注册商标是预定义的形状添加到原始的形式在特定的位置。这些标记可以用来识别转换或变形添加到原来的形式,然后正确扫描形式的方向调整到原来的大小。
目前,只有一个类型的注册标记,被定义为使用扫描形式(更多的是后来添加的)。有效注册马克是一个丁字形的人物逆时针旋转90度。线条宽度应大于2像素(最好是3像素)。没有条件对线的长度,因为你提供的值uWidth, uHeight uMaxScale, uMinScale。使用L_IsRegMarkBitmap功能,确保所选的标志是一个有效的登记标志。
目前,用于登记标志着文档图像功能必须由白色的物体在一个黑色背景。
使用注册功能,首先创建参考文档包含注册标志在表单上的确切位置,将用于扫描。登记标志应放置在不同区域形成得足够远的形式好三角可以执行,但不是,他们不会总是出现在表单时全部扫描。注册功能是为了使用三个指定注册标记作为参考点。
创建参考文档后,扫描获得文档图像。参考文档必须在完全扫描:任何文档使用的参考文档注册将被转换为匹配它的大小,移动,旋转。
注册功能通过寻找工作(X, Y)三个标记点的位置和比较他们与这些点的位置扫描图像。通过这些信息可以确定转移,扫描的图像旋转和缩放(5方程,5个未知数)。未知的内容:
对于每个注册标志,指定搜索区域标志,并指定最大允许转变,旋转和缩放。每个搜索区域应该只包含一个注册马克和最好的标志是位于一个空白部分的形式。这些信息指定使用SEARCHMARKS结构和包含以下信息:
值= RGS_T。
登记马克的宽度,以像素为单位。
登记马克的高度,以像素为单位。
最低注册马克缩放比例被探测到。(例如,90,85,或75,等)
最大的注册马克缩放比例被探测到。(例如,110120,或125等)
矩形区域寻找注册标记。注意,如果您选择太小的搜索区域,您运行的风险标记不会被发现,因为转变,旋转或缩放。然而,面积越大,时间越长,消耗的搜索。
预计数量登记标志着搜索区域内。设置为1。(因为必须有一个注册马克在每个区域)。
值=(点*)malloc (uNumOfMarks * sizeof(点))。这将被更新L_SearchRegMarksBitmap函数。
计数的检测标志。设置为0。这将被更新L_SearchRegMarksBitmap函数。
您可以使用这个信息L_GetMarksCenterMassBitmap函数计算质心为每个这些标志。保存这些指向一个数组。
现在你可以扫描形式和正确的方向和大小。
下一步是寻找注册标志的扫描图像。使用L_SearchRegMarksBitmap扫描的图像函数找到注册标记。如果所有的注册标志检测(uMarkDetectedCount参数在每个SEARCHMARKS结构= 1),然后使用L_GetMarksCenterMassBitmap函数来计算每个注册标志的质心,并保存到一个数组的点。
下一步是确定移动,缩放和旋转扫描的图像需要调整。要做到这一点,通过参考点的数组和数组的转变点L_GetTransformationParameters函数。
调整,调整扫描图像就像参考图像,使用L_GetTransformationParameters函数的值L_ApplyTransformationParameters函数。这相当于将图像使用L_CombineBitmap使用,旋转图像L_RotateBitmap(没有调整),使用旋转出图像L_HighQualityRotateBitmap(没有调整)和缩放图像使用L_SizeBitmap,L_ResizeBitmap,或L_SizeBitmapInterpolate。(注意:重要的是做这个订单的操作。你会得到一个错误的结果如果你改变订单)。
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。