搜索图像中的已知标识

时间:2014-04-21 17:16:06

标签: opencv image-processing

我想写一个程序,它将采用扫描的发票(原件是A4纸,扫描为JPEG文件(包裹在PDF中),~4000像素宽)并查找标识。如果找到标识,则发票文件(PDF)将标记与发票中找到的标识相关联的标签。

我希望找到20个左右的标识,大约2500张发票(是的,手动操作很痛苦)。

我的想法被吸引到OpenCV,因为我知道Sikuli在幕后使用。我只会在某些区域寻找徽标,即只能在每张发票的左上角找到徽标A,在右上角找到徽标B等。将JPG降低为高对比度的单色我认为也会有帮助吗?

1 个答案:

答案 0 :(得分:1)

" 20个左右的标识"在find-nearest-neighbor-way中使用关键点(角点,blob等)及其描述符(SIFT,SURF,FREAK等)是一个很好的数字。步骤是:

1次火车

  • 创建一套训练徽标(从您的文档中取出)
  • 计算一组关键点及其每个徽标的描述符

2找到

  • 进行图片均衡和噪音过滤
  • 找到关键点及其描述符
  • 在训练集中找到最佳匹配描述符(找到最近邻居)
  • 找到匹配关键点位置的单应性,以确保它是一个完整的徽标,但不只是一个意外点

所有这些步骤都在openCV中实现。但是您需要一些时间来使用参数来获得最佳解决方案。无论如何,你的徽标失真水平非常低,所以你会有很高的水平"真正的积极"结果和低水平的"误报"的。