如何检测图像中的裂缝?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检测图像中的裂缝?相关的知识,希望对你有一定的参考价值。

如何检测您在所附图像中看到的裂缝?我尝试了一些OpenCV算法,例如斑点检测(cv :: SimpleBlobDetector),但无法获得任何结果。

这是裁剪后的图像,完整图像还具有其他一些功能,因此我不确定阈值设置是否可行,因为我必须获得检测到的裂缝的边界框。一种方法是分配几个(感兴趣的区域)ROI,并尝试在该ROI中进行检测,但是此裂缝不会出现在图像的同一位置。有什么主意吗?

可以通过机器/深度学习(例如对象检测)解决此问题吗?如果我用裂纹数据集训练模型?由于图像的裂纹部分没有很多功能,因此我不确定该方法是否可以使用。请指导。

谢谢。

enter image description hereenter image description here

答案

这些裂缝很难检测,因为图像嘈杂(大概是X射线)并且对比度很差,所以信噪比很低。

我会尝试通过使用高斯滤波器进行降噪,但仅在水平方向上进行滤波,以保留水平边缘。然后检测水平边缘。

这与Gabor过滤器的作用有关。您可以尝试不同的方向。

另一答案

使用数学形态学运算。通过示例Matlab代码:

a=imread('in.png');
se=strel( 'disk', 7);
b = imgaussfilt(a,1.3);
c=b-imopen(b,se);
c=3*c;
d=imclearborder(c);
imwrite(d, 'out.png');

Result

以上是关于如何检测图像中的裂缝?的主要内容,如果未能解决你的问题,请参考以下文章

裂缝识别基于matlab GUI路面裂缝识别含Matlab源码 009期

裂缝识别基于matlab GUI BP神经网络路面裂缝识别系统含Matlab源码 1063期

裂缝识别基于matlab无人机图像处理公路裂缝检测研究与实现含Matlab源码 1730期

图像识别基于组合BCOSFIRE过滤器进行墙体裂缝识别matlab源码

使用深度学习检测混凝土结构中的表面裂缝

裂缝识别基于matlab GUI无人机裂缝图像处理系统(带面板)含Matlab源码 1727期