Python opencv连通域
1、求解连通域
Opencv 连通域函数connectedComponentsWithStats
num_labels, labels, stats, centroids = cv2.connectedComponentsWithStats(image)
输入:
image:必须是二值化图像,检测的连通域为白色部分。
输出:
num_labels:所有连通域的数目
labels:图像上每一像素的标记,用数字1、2、3…表示(不同的数字表示不同的连通域)
stats:每一个标记的统计信息,是一个5列的矩阵,每一行对应每个连通区域的外接矩形的 x(左上角)、y(左上角)、width(宽度)、height(高度)和面积(点的数量),示例如下: 0 0 720 720 291805。
centroids:连通域的中心。
2、示例代码
import cv2
import numpy as npif __name__ == '__main__':image = np.zeros((640, 640)).astype(np.uint8)#绘制圆形image = cv2.circle(image, (100, 100), 50, 255, -1)#绘制多边形points = [[200, 200], [300, 100], [400, 400], [250, 300]]cv2.fillPoly(image, np.array([points]), 255, cv2.LINE_AA)#绘制矩形cv2.rectangle(image, (200,500), (500, 600), 255, -1)cv2.imshow('image', image)num_labels, labels, stats, centroids = cv2.connectedComponentsWithStats(image)print('num_labels: ', num_labels)labels[labels>0] = 255labels = labels.astype(np.uint8)#将一维灰度图像扩展到三维labels= np.expand_dims(labels,axis=2).repeat(3,axis=2).astype(np.uint8)for st in stats[1:]:cv2.rectangle(labels, (st[0], st[1]), (st[0]+st[2], st[1]+st[3]), (0, 255, 0), 3)cv2.imshow('labels', labels)cv2.waitKey(0)
3、测试结果
更多三维、二维感知算法和金融量化分析算法请关注“乐乐感知学堂”微信公众号,并将持续进行更新。
Python opencv连通域相关推荐
- python opencv 连通域_OpenCV中一个连通域处理函数
作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 欢迎转载或分享,但请务必声明文章出处.连通域处理函数的原型 前言 在图像处理过程中,经常会遇到 ...
- python opencv 连通域_基于OpenCV及连通域分析进行文本块分割
上一次通过投影的方式进行了文本块分割,但这种方法有很大的局限性,要求分行清晰.不能有字符跨多行.不能倾斜,而且对噪声比较敏感.还是拿上一回的图片,但是我在上面加了一个比较大的字,得出的结果就有问题了: ...
- Python - Opencv应用实例之头发自动分割、计数、特征统计智能分析系统
Python-Opencv应用实例之头发自动分割.计数.特征统计智能分析系统 简介: 本文章将通过Python+Opencv基于传统图像处理算法实现头发的自动分析功能. 自动分割:对图像中的头发丝实现 ...
- Python OpenCV GrabCut进行前景分割和提取
Python OpenCV GrabCut进行前景分割和提取 1. 效果图 1.1 边界框GrabCut效果图 1.2 Mask GrabCut效果图 2. GrabCut原理 2.1 GrabCut ...
- 解决Python OpenCV 读取视频并抽帧出现error while decoding的问题
解决Python OpenCV 读取视频抽帧出现error while decoding的问题 1. 问题 2. 解决 3. 源代码 参考 1. 问题 读取H264视频,抽帧视频并保存,报错如下: [ ...
- Python OpenCV应用K均值聚类进行颜色量化
Python OpenCV应用K均值聚类进行颜色量化 1. 效果图 2. 颜色量化是什么? 3. MiniBatchKMeans & KMeans 4. 源码 参考 在这篇博客文章中,我将向您 ...
- 使用Python,OpenCV在视频中进行实时条形码检测
使用Python,OpenCV在视频中进行实时条形码检测 1. 步骤 2. 适用场景及优化 3. 总结 4. 源码 参考 上一篇博客介绍了如何检测和查找图像中的条形码.这篇博客将进行一些优化以检测实时 ...
- Python+OpenCV图像处理实验
目录 1.灰度化功能 2.反转功能 3.通道分离功能 4.噪音.滤波功能 5.高斯双边滤波功能 6.均值偏移滤波功能 7.图像二值化功能 8.Canny边缘检测功能 9.直线检测功能 10.圆形检测功 ...
- Python+OpenCV创建级联文件(Windows7/10环境)
目录 1.搭建环境 2.准备数据集 3.训练级联文件 之前使用Python+OpenCV实现交通路标识别,具体实现步骤及心得如下: OpenCV训练属于自己的xml文件,需以下几个步骤: 1.首先下载 ...
最新文章
- 让你的javascript函数拥有记忆功能,降低全局变量的使用
- 四旋翼飞行器旋转矩阵公式推导!
- 平面设计常用的图像文件格式
- BZOJ1054(搜索)
- 机器学习难?那是你没看过这张路线图!
- 天猫京东618下单金额近万亿;苹果或选择印度组装新款iPhone SE;Adobe将于12月31日终止支持Flash| 极客头条...
- 【渝粤教育】 广东开放大学 10331k2_行政管理学_21秋考试
- bzoj1010 [HNOI2008]玩具装箱toy
- python爬取电子病历_电子病历患者查询
- mysql跨库查询 效率_教你用一条SQL搞定跨数据库查询难题
- 《给你的答复:关于朋友或怀疑朋友或怀疑》
- PROE CREO 各类3D模型图档大全-8.2G
- 日本转运海淘包裹被税、退运处理流程详解—北京篇
- 计算机网络--七层协议/五层协议
- elementUi里面的el-input框有时候无法输入的问题
- DISM 修复 Win10
- 计算机组成原理 主存储器1
- 如何实现系统公告或系统消息
- Excel 仪表盘教程之 01 什么是 Excel 仪表板,它与报表有何不同?(Dashboard教程含数据)
- 自动驾驶域控制器研究开发要用c语言吗,深入浅出,什么是域控制器?