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连通域相关推荐

  1. python opencv 连通域_OpenCV中一个连通域处理函数

    作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 欢迎转载或分享,但请务必声明文章出处.连通域处理函数的原型 前言 在图像处理过程中,经常会遇到 ...

  2. python opencv 连通域_基于OpenCV及连通域分析进行文本块分割

    上一次通过投影的方式进行了文本块分割,但这种方法有很大的局限性,要求分行清晰.不能有字符跨多行.不能倾斜,而且对噪声比较敏感.还是拿上一回的图片,但是我在上面加了一个比较大的字,得出的结果就有问题了: ...

  3. Python - Opencv应用实例之头发自动分割、计数、特征统计智能分析系统

    Python-Opencv应用实例之头发自动分割.计数.特征统计智能分析系统 简介: 本文章将通过Python+Opencv基于传统图像处理算法实现头发的自动分析功能. 自动分割:对图像中的头发丝实现 ...

  4. Python OpenCV GrabCut进行前景分割和提取

    Python OpenCV GrabCut进行前景分割和提取 1. 效果图 1.1 边界框GrabCut效果图 1.2 Mask GrabCut效果图 2. GrabCut原理 2.1 GrabCut ...

  5. 解决Python OpenCV 读取视频并抽帧出现error while decoding的问题

    解决Python OpenCV 读取视频抽帧出现error while decoding的问题 1. 问题 2. 解决 3. 源代码 参考 1. 问题 读取H264视频,抽帧视频并保存,报错如下: [ ...

  6. Python OpenCV应用K均值聚类进行颜色量化

    Python OpenCV应用K均值聚类进行颜色量化 1. 效果图 2. 颜色量化是什么? 3. MiniBatchKMeans & KMeans 4. 源码 参考 在这篇博客文章中,我将向您 ...

  7. 使用Python,OpenCV在视频中进行实时条形码检测

    使用Python,OpenCV在视频中进行实时条形码检测 1. 步骤 2. 适用场景及优化 3. 总结 4. 源码 参考 上一篇博客介绍了如何检测和查找图像中的条形码.这篇博客将进行一些优化以检测实时 ...

  8. Python+OpenCV图像处理实验

    目录 1.灰度化功能 2.反转功能 3.通道分离功能 4.噪音.滤波功能 5.高斯双边滤波功能 6.均值偏移滤波功能 7.图像二值化功能 8.Canny边缘检测功能 9.直线检测功能 10.圆形检测功 ...

  9. Python+OpenCV创建级联文件(Windows7/10环境)

    目录 1.搭建环境 2.准备数据集 3.训练级联文件 之前使用Python+OpenCV实现交通路标识别,具体实现步骤及心得如下: OpenCV训练属于自己的xml文件,需以下几个步骤: 1.首先下载 ...

最新文章

  1. 让你的javascript函数拥有记忆功能,降低全局变量的使用
  2. 四旋翼飞行器旋转矩阵公式推导!
  3. 平面设计常用的图像文件格式
  4. BZOJ1054(搜索)
  5. 机器学习难?那是你没看过这张路线图!
  6. 天猫京东618下单金额近万亿;苹果或选择印度组装新款iPhone SE;Adobe将于12月31日终止支持Flash| 极客头条...
  7. 【渝粤教育】 广东开放大学 10331k2_行政管理学_21秋考试
  8. bzoj1010 [HNOI2008]玩具装箱toy
  9. python爬取电子病历_电子病历患者查询
  10. mysql跨库查询 效率_教你用一条SQL搞定跨数据库查询难题
  11. 《给你的答复:关于朋友或怀疑朋友或怀疑》
  12. PROE CREO 各类3D模型图档大全-8.2G
  13. 日本转运海淘包裹被税、退运处理流程详解—北京篇
  14. 计算机网络--七层协议/五层协议
  15. elementUi里面的el-input框有时候无法输入的问题
  16. DISM 修复 Win10
  17. 计算机组成原理 主存储器1
  18. 如何实现系统公告或系统消息
  19. Excel 仪表盘教程之 01 什么是 Excel 仪表板,它与报表有何不同?(Dashboard教程含数据)
  20. 自动驾驶域控制器研究开发要用c语言吗,深入浅出,什么是域控制器?

热门文章

  1. javascript 判断对象是否为undefined
  2. Python复数类型讲解
  3. 微信第三方支付接口java调用详细文档
  4. 数据库设计 - 扩展性
  5. Array数组操作(变异更新、替换)
  6. 黄圣池《你是我眼中的山川和海洋》
  7. html简易颜色选择器,HTML颜色选择器实现代码
  8. 技术和业务,到底哪个重要?
  9. ssm+jsp计算机毕业设计高校教材管理平台的设计与实现4boq6(程序+LW+源码+远程部署)
  10. Canny、Sobel和Prewitt算子python实现