sc1*_*013 3 java image-processing
我有一个表格(在右下角绘制一条线来签署表格),它被扫描成TIF格式(黑/白).
填写表格的某些人可能会签字而有些人则不会.那么如何判断扫描图像上是否包含签名?建议的任何算法或任何可以实现此目的的现有框架或库?
谢谢!
您可以对图像进行阈值处理(将其转换为黑白图像),并总结框内区域内有多少黑色像素.您可以使用填充了多少像素的百分比作为对您的签名字段"绘制"的初步测试.这样做的缺点是,在定义阈值时,您可能会在阈值过高时错过较轻的签名,或者将空框误解为填充(太低).另外,使用的笔的颜色是要考虑的因素.虽然,我们在这个应用程序中很幸运,因为纯白色盒子和手写之间形成鲜明对比对我们有利.
类似的方法可以使用互相关来计算空白签名框与应该签名的空白签名框之间的差异,以获得两者之间差异的值.签名的框可能会比那些没有签名的框有更大的错误.
您可能熟悉光学字符识别(OCR),这是一种机器视觉方法,它允许计算机有意义地解释符号,虽然使用人手写这很难做,因为它需要系统"训练",因为手写可能会有所不同非常.由于人们喜欢用他们自己的签名来设计风格,所以这个问题更加严重.然而,这种方法可能过度,因为您实际上不需要在软件中注册签名的每个字符.
您还可以使用形态(形状变化)技术(例如扩张,侵蚀或打开和关闭)来尝试夸大签名框中区域的强度.我们不必担心变形数据的形状,因为我们只关心它们是否存在.然后,您可以使用blob计数来查看是否在边界内检测到足够的数量.
您应该尝试使用开放式图像处理工具包(例如ImageJ)来尝试使用不同的方法,这些工具包预先打包了一些高级工具,您可以利用这些工具确定哪种工具可以为您提供最佳指示.唯一的限制是你的创造力!
| 归档时间: |
|
| 查看次数: |
1979 次 |
| 最近记录: |