OpenCV形状缺陷识别

3
我想在OpenCV中识别:这个形状是否损坏了。为了解决这个问题,我上传了3张好的图像和4张损坏的图像。
问题是:损坏的形状与良好的形状有很多共同属性。我尝试使用:
cv :: contourArea - 但每次面积都非常相似
cv :: matchShapes - 但是比较例如“OK1”与“OK3”时,给出的值与将“OK1”与“NOK1”进行比较的值非常相似。
cv :: convexityDefects - 我为OK1创建了凸包,并将所有缺陷轮廓深度的总和与其他图像进行比较,但值始终非常相似。
我逐渐失去了其他可行方法的想法。我确定这个任务是可以完成的,现在正在寻求线索。
非常感谢您的考虑!
图片:http://imgur.com/a/xJ7kk#5

2
运行特征检测器并针对检测到的点编写一些算法?检测器将主要返回图像中“损坏”部分的点,因为它们富含边缘信息。 - Vorac
这个解决方案运行得非常好。我欠你一只熊 :)。当hessian = 2500时,对于好的描述符没有任何限制,对于损坏的至少需要3个。 - Tomasz Edwin
1
很高兴听到这个消息!但是要小心,熊是危险(而且毛茸茸)的动物! - Vorac
+1 对于那个熊的评论点赞。 - diip_thomas
哈哈,拼错了。我得道歉,但是我没有熊的接入权限。不过我仍然可以请你喝一杯啤酒。所以如果你在波兰::格但斯克附近,请随时提出 :) - Tomasz Edwin
1个回答

1

针对可能有类似问题的人提供描述和解决方案。

解决此问题的方法是使用SurfFeatureDetector -> OpenCV::Doc

这种解决方案中的棘手问题是,圆形形状很难被该检测器描述。因此,关键点数量较少意味着该形状没有任何问题。

感谢Vorac的提示!

Circular shapes and cv::SurfFeatureDetector


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接