任务:我在装配线的末端安装了一个摄像头,
捕获生产物品的图像。举例来说,我们
制作门票(上面有一些文字和图片)。所以每
生成的票据被拍照并作为图像保存到磁盘。现在我
想要检查这些保存的图像是否存在异常(即比较
将它们转换为图像(模板),这可以)。所以如果出现问题
在我们的装配线上有一张票(缺少图片、污渍……),我的
应用程序应该找到它(因为它的图像与我的图像差异太大
模板)。
问题:比较图片和查找的最简单方法是什么
他们之间的区别?我需要编写自己的方法吗?或者我可以吗?
使用现有的?如果我只设置一个容差值那就太好了
(即图像可能存在 1% 的差异),将两个图像放入一个函数中并得到
返回值 true 或 false :)
工具:C# 或 VB.NET、Emgu.CV(OpenCV 的 .NET 包装器)或类似工具
我对OpenCV了解不多,但对图像处理有一点了解。
采取的方式取决于拍摄新照片的频率。一种简单的方法是计算“好”模板和实际产品图像的差异图片。
如果图像 100% 相同,则生成的图像应该为空。如果存在残留像素,您可以对它们进行计数并将其作为与标准偏差的度量。
但是,您必须匹配其中一张图像的方向(可能还有比例)才能对齐边界,否则这种方法将不起作用。
如果您有时间限制,您可能希望在处理图像之前减少图像中的信息(例如使用边缘检测和/或将它们转换为灰度甚至单色位图,如果您的产品的功能足够重要)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)