c# - 使用 Open CV 检测物体缺陷
问题描述
我尝试识别对象的变化。因此,我在使用该对象之前和之后拍照。目前,我正在处理两张图片的绝对差异并获取结果差异图像的轮廓。只要对象被完美定位并像之前的图像一样被捕获,它就可以正常工作。只是位置上的微小差异使我的方法毫无用处。
有人对 OpenCV 或 EmguCV 有不同的解决方案吗?我正在考虑检查其中一个相邻像素是否相同,那么应该没有检测到变化,但我不知道现有的高性能算法。
解决方案
是的,有很多方法可以做到这一点。我喜欢以下内容:
直方图匹配。获取前后的直方图并检查差异。对光线变化很敏感。如果您处于受控照明环境中,这是非常好的方法
相关匹配。如果您使用 MatchTemplate,您可以获得匹配的“质量”。这可以被制成对光不那么敏感。但是对两个图像之间的旋转变化很敏感。
尝试实现一些,让我们看看你的代码。
推荐阅读
- java - 带有Thymeleaf的Java Spring以变量作为参数获取环境属性
- flutter - 本地开发的 Flutter 插件如何存档和使用?
- powershell - 如何在 PowerShell 中调用 Security.Cryptography.AesGcm 及其方法
- homebrew - 如果它是补丁或其他非标准文件名,我如何从本地文件中提取?
- solidity - 不懂编译器
- flutter - 颤动屏幕从底部溢出并且不滚动
- python - 为什么我在 Mysql SELECT 查询期间收到此 UnicodeDecodeError?
- javascript - 如何在SVG中动态查找父元素内的文本元素?
- python - 选项卡完成以显示可用的动态创建的关联对象
- javascript - 函数在获取请求完成之前返回