改进OpenCV中的岩石提取分析

我一直在试用OpenCV,并试图用NASA图像进行一些图像分析。 我的目标是从火星漫游车的场景中提取岩石。 我设法提取了一些,但是在这些图片中看到的命中率很差:

原版的:

在这里输入图像描述

处理后:

在这里输入图像描述

我一直在使用Canny边缘检测器,找到封闭的轮廓,然后按大小对其进行过滤。 我尝试过使用一些像扩张和侵蚀这样的形态学操作来提高我的命中率,但它似乎没有帮助。

这是我的提取尝试:

original_img = cv2.imread('mars_sample_image.jpg', 0)
edges = cv2.Canny(edited_img, 100, 200)
ret, thresh = cv2.threshold(edges, 127, 255, 0)
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_CCOMP, cv2.CHAIN_APPROX_NONE)

enclosed_contours = []
other_contours = []
for i in range(len(contours)):
    if hierarchy[0][i][0] < 0:
        enclosed_contours.append(contours[i])
    else:
        other_contours.append(contours[i])
contours = [contour for contour in enclosed_contours if cv2.contourArea(contour) > 100]

任何建议,以提高我的命中率将不胜感激!

链接地址: http://www.djcxy.com/p/23697.html

上一篇: Improving Rock Extraction Analysis in OpenCV

下一篇: How to robustly segment images to correctly count blurred blobs?