小编Das*_*aev的帖子

如何连接边缘的末端以封闭边缘之间的孔?

我的任务是检测土壤表面的裂缝并计算裂缝的总面积。为此,我使用了Canny边缘检测。

输入图像

输入图像

结果

这里

下一步是将Canny边缘转换为轮廓,因为我想cv2.mean使用cv2.contourArea功能过滤裂纹并使用函数计算其面积。在这一步上,我遇到了问题。当我使用时:

canny_cracks = cv2.Canny(gray, 100, 200)
contours, _ = cv2.findContours(canny_cracks, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
Run Code Online (Sandbox Code Playgroud)

由于边缘边缘的孔,它无法正确转换。在这里看到问题

这里

我的问题是如何连接边缘的末端以封闭边缘之间的孔?

注意:我使用了轮廓检测而不应用Canny边缘。问题在于轮廓检测会产生很多噪声,并且不能很好地检测所有裂缝。或者,也许我不知道如何像精巧的边缘那样找到轮廓。

python opencv image-processing contour edge-detection

13
推荐指数
2
解决办法
262
查看次数