下面是一个二进制图像,我想在其中检测"丘陵",半圆,切口..在下图中的红色圆圈中。检测不一定非精确,我只需要知道这样的事情就在图片中。我正在考虑使用某种线扫描方法并计算线上黑色像素的算法并用某种类型的"聪明的"来评估它,但在此之前我想知道我是否缺少任何更容易或更强大的技术。我已经尝试了HoughCircles,但没有很好的结果,因为圆圈的半径非常大,而且有很多(houghCircles将灰度图像作为输入)。
答案 0 :(得分:2)
在这种简单的情况下,计算像素应该没问题。如果你面对更复杂的场景,你不想参与其他事情,你应该考虑一个blob探测器。 该方法搜索连接像素的区域。一旦你有斑点,你可以很容易地按大小,形状,位置对它们进行排序,这有助于摆脱不需要的东西。
https://www.learnopencv.com/blob-detection-using-opencv-python-c/
这是一项非常基本的技术。请继续阅读有关图像处理基础知识的书籍。它会让生活更轻松。
答案 1 :(得分:1)
正如@piglet所说,这是一个blob分析案例。
如果您想进一步表征和分类缺陷,您必须计算形状的一些几何特征,如面积,直径,洗脱......并将它们提供给分类器/神经网络。