发现对齐标准化文档图像所需的转换

时间:2017-09-21 12:27:15

标签: python opencv

我的问题与"Image Alignment (ECC) in OpenCV ( C++ / Python )" article相距不太远。

我还发现the following article关于面部对齐非常有趣,但比我的问题更复杂。

Wow! I can really go down the rabbit-hole.

我的问题更简单。

我有一个扫描过的文档,我将其视为“模板”。在这个模板中,我手动映射了我需要信息的像素区域:

area = (x1,y1,x2,y2)

x1<x2y1<y2

现在,这些区域很可能显而易见,对我的“模板”来说太具体了。

我想要从中提取数据的所有其他文件大多会移动一些未知数量,以便我们所需数据的真实区域为:

area = (x1 + ε1, y1 + ε2, x2 + ε1, y2 + ε2)

预先知道ε1, ε2的地方。

这些文件在此转变之外非常相似。

我想发现,理想情况下通过opencv,需要进行哪些翻译(暂时无视欧几里德)来“对齐”这些图像,以便移除我的ε,移动我的区域,并直接解析我的数据。

我考虑过使用tesseract从文档中挖掘文本,然后从那里进行解析,但是有一些填充或空的复选框

filled check box enter image description here

包含有关我的问题的有意义的信息。

我目前用于裁剪图像的代码是:

from PIL import Image
img = Image.open(img_path)
area = area_lookup['key']
cropped_img = img.crop(area)
cropped_img.show()

附上了我的两个示例文件。

我的两张照片是:

enter image description here

enter image description here

我们可以假设我的第一张图片是我的“模板”。

正如您所看到的,这两个图像非常“相似”,但有一个略微移动(人为错误)。可能存在旋转更极端或图像偏移更多的情况。

我希望将图像2转换为尽可能与图像1对齐,然后从中解析数据。

真诚地感谢任何帮助。

非常感谢

0 个答案:

没有答案