学习笔记:OpenCV连通域处理函数,贴标签,图像分割

连通域函数列举:

num_objects, labels = cv2.connectedComponents(image, labels=None, connectivity=None, ltype=None)

cv2.connectedComponentsWithAlgorithm(image, connectivity, ltype, ccltype, labels=None)

num_labels, labels, stats, centroids = cv2.connectedComponentsWithStats(image, labels=None, stats=None, centroids=None, connectivity=None, ltype=None)

cv2.connectedComponentsWithStatsWithAlgorithm(image, connectivity, ltype, ccltype, labels=None, stats=None, centroids=None)

cv2.connectedComponents(image)

num_objects, labels = cv2.connectedComponents(image, labels=None, connectivity=None, ltype=None)

        输入参数详解:

                image:二值图,即8位单通道图像。具体转二值图方法如下

gray = imread(path,0)
ret, image = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY_INV + cv2.THRESH_OTSU)  # 设定阈值


                labels:标记不同连通域后的输出图像,与输入图像具有相同的尺寸。
                connectivity:标记连通域时使用的邻域种类,4表示4-邻域,8表示8-邻域。
                ltype:输出图像的数据类型,目前支持CV_32S和CV_16U两种数据类型。

        输出参数详解:

                num_labels:所有连通域的数目
                labels:图像上每一像素的标记,用数字1、2、3依次表示不同的连通域

函数解释:

connectedComponents()仅仅创建了一个标记图(图中不同连通域使用不同的标记,和原图宽高一致),connectedComponentsWithStats()可以完成上面任务,除此之外,还可以返回每个连通区域的重要信息–bounding box, area, andcentroid。本文暂时不做解释

参考文章:https://blog.csdn.net/wsp_1138886114/article/details/111355021                                                     https://blog.csdn.net/qq_40784418/article/details/106023288

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值