Opencv (Python) 寻找最大联通域

假设我们的待处理二值图像为:mask_sel

则作如下处理即可:

contours,hierarchy = cv2.findContours(mask_sel,cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE)

#找到最大区域并填充

area = []

for j in range(len(contours)):

    area.append(cv2.contourArea(contours[j]))

max_idx = np.argmax(area)

max_area = cv2.contourArea(contours[max_idx])

for k in range(len(contours)):

    if k != max_idx:
    cv2.fillPoly(mask_sel, [contours[k]], 0)

处理前后效果具体如下:

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读