python画轮廓_python 分割 画图像的轮廓

本文介绍了如何使用Python的OpenCV库对图像进行轮廓检测,并展示了如何从源图像中分别提取并绘制GT(Ground Truth)和算法分割的轮廓。通过示例代码,读者可以理解如何将阈值处理后的二进制图像转换为轮廓,以及如何保存处理后的图像结果。
摘要由CSDN通过智能技术生成

python 分割 画图像的轮廓

import numpy as np

import cv2

__author__ = 'xinyang'

Img_N = 130

algo_seg_folder = 'G:/ctx_2'

gt_seg_folder = 'G:/gt'

src_us_folder = 'G:/src_img'

save_folder = 'G:/only_gt_fuse'

for k in range(Img_N):

# for k in range(2):

print 'No. %d image...' % k

src_us_name = src_us_folder + '/' + str(k) + '.png'

gt_seg_name = gt_seg_folder + '/' + str(k) + '.png'

algo_seg_name = algo_seg_folder + '/' + str(k) + '.png'

src_us = cv2.imread(src_us_name, 1)

gt_seg = cv2.imread(gt_seg_name, 0)

algo_seg = cv2.imread(algo_seg_name, 0)

# get contour

gt_ret, gt_binImg = cv2.threshold(gt_seg, 127, 255, 0)

gt_im2, gt_contours, gt_hierarchy = cv2.findContours(gt_binImg, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

algo_ret, algo_binImg = cv2.threshold(algo_seg, 127, 255, 0)

algo_im2, algo_contours, algo_hierarchy = cv2.findContours(algo_binImg, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

# draw contour

cv2.drawContours(src_us, gt_contours, -1, (0, 0, 255), 2)

# cv2.drawContours(src_us, algo_contours, -1, (0, 255, 0), 2)

# save

save_name = save_folder + '/' + str(k) + '.png'

cv2.imwrite(save_name, src_us)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值