0

我有两张图片(扫描表格):

第一个图像是模板图像(空白表格),第二个图像是其中包含数据的图像(已填写表格)。

我正在尝试将图像与模板图像的数据对齐/叠加以生成最终图像(将两个图像内的对象相互对齐)。

我能够得到两个图像的四边形角,变换四边形角,并歪斜生成的图像(矩形),但是当我叠加图像时,我得到了一个双重视觉最终图像,因为两个图像内的对象没有对齐适当地。

我在 AForge 的论坛http://www.aforgenet.com/forum/viewtopic.php?f=4&t=3013上发布了一个带有图片的问题和视频链接,但没有得到任何回复。

我还在http://www.codeproject.com/Articles/95453/Automatic-Image-Stitching-with-Accord-NET上查看了 Accord.Net 的拼接示例,但它仍然不能解决我的问题。

任何帮助都将不胜感激。

4

1 回答 1

1

这种错位的主要原因是:扫描过程中,文档图像与正常图像有很大不同。

解释一下:在扫描过程中,图像被量化,并且这个量化步骤总是导致文档的不同采样,这意味着一些黑色像素可能是白色的,反之亦然(虽然不是肉眼)。

除此之外,扫描选项可能不同,这意味着不同的 dpi、位深度。

扫描仪也可能不同,由于不同的量化过程导致更高的失配。

最后,主要问题是拉伸。您可能看不到,但由于进纸器或 - 是的,您猜对了 - 量化,所有扫描的文档都有拉伸。这种拉伸因图像而异,并且在单个图像中不均匀。如果图像稍微倾斜,则拉伸是倾斜的,因此不同图像中的 dpi 不均匀,一个图像中的 dpi 也不均匀,任何图像中 dpi 在其方向上的变化也不均匀。

以上所有因素使得几乎不可能将一张图像完美地对齐到另一张图像之上。偏斜校正和通过锚定机制进行翻译(另一个主题太长,此处无法讨论)可能会有所帮助,但只有两种方法可以尝试实现上述目标:

  1. 对齐后应用形态开口:腐蚀后扩张。这会产生问题,例如需要使上述内核的大小与图像的大小和 dpi 相匹配,否则您将导致某些字符不可读。此外,如果图像中的内容大小不同,您将必须进行分区分析和斑点检测,以了解在图像的哪个部分执行什么大小的内核,然后应用一般平滑。(强烈不建议使用此方法)。
  2. 对您的文档进行文档分析,这意味着您将了解这是什么类型的表单,并且该表单为每个部分设置了每个坐标和大小。完成初始对齐后,调整填充图像部分的大小以匹配原始图像(需要通过填充算法隔离对象)。

无论如何,您可以看到这不是一项微不足道的任务,事实上,它是文档图像处理和识别中最难的任务之一。

于 2013-11-14T08:50:14.727 回答