如何检测图像中的裂缝?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检测图像中的裂缝?相关的知识,希望对你有一定的参考价值。
如何检测您在所附图像中看到的裂缝?我尝试了一些OpenCV算法,例如斑点检测(cv :: SimpleBlobDetector),但无法获得任何结果。
这是裁剪后的图像,完整图像还具有其他一些功能,因此我不确定阈值设置是否可行,因为我必须获得检测到的裂缝的边界框。一种方法是分配几个(感兴趣的区域)ROI,并尝试在该ROI中进行检测,但是此裂缝不会出现在图像的同一位置。有什么主意吗?
可以通过机器/深度学习(例如对象检测)解决此问题吗?如果我用裂纹数据集训练模型?由于图像的裂纹部分没有很多功能,因此我不确定该方法是否可以使用。请指导。
谢谢。
答案
这些裂缝很难检测,因为图像嘈杂(大概是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');
以上是关于如何检测图像中的裂缝?的主要内容,如果未能解决你的问题,请参考以下文章
裂缝识别基于matlab GUI路面裂缝识别含Matlab源码 009期
裂缝识别基于matlab GUI BP神经网络路面裂缝识别系统含Matlab源码 1063期
裂缝识别基于matlab无人机图像处理公路裂缝检测研究与实现含Matlab源码 1730期