gpt4 book ai didi

opencv - 比较扫描图像并检测非常小的可见变化

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:31 27 4
gpt4 key购买 nike

我需要一个解决方案来比较两个扫描图像。我有一张申请表的图像(未填写),我需要将其与同一表格的其他图像进行比较,并想检测是否有任何完全未填写的申请表。

我刚刚尝试使用 Emgu CV AbsDiff、MatchTemplate 等,但它们都没有给我 100% 的匹配,即使我在同一台扫描仪上扫描了两次相同的表格,也可能是因为扫描中的噪音,我可以应用公差,但问题是我需要查明用户是否在其中填写了任何内容。如果我应用容差,则不会检测到表单中的微小变化。

我还查看了 Python Image Libray、Accord.Net 等,但找不到比较此类图像的方法。

关于如何进行此类图像比较有什么建议吗?是否有任何免费或付费的图书馆可供使用?

最佳答案

只检查表单域。在没有干扰的情况下,更容易发现微小的变​​化。您也不必检查每个像素。使用直方图或平均颜色。我使用了 SimpleCV:

from SimpleCV import *

form = Image("form.png")
form_field = form.crop(34, 44, 200, 30)
mean_color = form_field.meanColor()[0] # For simplicity only red channel.

if mean_color < 253:
print "Field is filled"
else:
print "Field is empty"

或者寻找特征。例如。角、 Blob 或关键点。关键点将忽略噪音,并且在扫描质量差的情况下效果更好:

key_points = form_field.findKeypoints()

if key_points:
print "Field is filled"
key_points.show(autocolor=True)
else:
print "Field is empty"

关于opencv - 比较扫描图像并检测非常小的可见变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22911757/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com