如何检测图像中的裂缝?

时间:2020-04-11 10:59:49

标签: image opencv image-processing deep-learning object-detection

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

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

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

谢谢。

enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

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

market_power_merged <- mutate(fitted_values = fitted(MP_regression)

Result