skimage函数记录之measure.label和measure.regionprops
这两个函数可以用来处理图(一般是二值图)中出现的连通区域,我们来分别分析。
一.skimage.measure.label(input, background = None, return_num = False, connectivity = None)
功能:标记图中的连通区域
参数解释:input:输入二值图
background:指定北京元素像素值,默认为0
return_num:bool变量,True:返回(label,num)False:只返回label
connectivity:1:4邻接,计算上下左右4个方向 2:8邻接,计算周围8个方向,None默认取最高
返回值:
labels : 和input形状一样,但是数值是标记号,所以这是一个已经标记的图片
num : 标记的种类数,如果输出0则只有背景,如果输出n则有n个连通域
PS:什么叫做连通域,在二值图像中,如果两个像素点相邻且值相同(同为0或1),称这两个像素点在一个相互连通的区域内,这种关系存在传递性,我们用相同的值来标记同一个连通区域的所有像素。常见的邻接关系有2种:4邻接与8邻接。4邻接一共4个点,上下左右,8邻接的点包括周围8个,下图所示
例:
x=np.array([[1,0,0,0,0],[0,1,7,7,0],[0,0,1,1,9],[0,0,0,0,1]])
x
'''Out[109]:
array([[1, 0, 0, 0, 0],[0, 1, 7, 7, 0],[0, 0, 1, 1, 9],[0, 0, 0, 0, 1]])'''
label(x,connectivity = 1, return_num=True)
'''Out[110]:
(array([[1, 0, 0, 0, 0],[0, 2, 3, 3, 0],[0, 0, 4, 4, 5],[0, 0, 0, 0, 6]]), 6)'''
label(x,connectivity = 2, return_num=True)
'''Out[111]:
(array([[1, 0, 0, 0, 0],[0, 1, 2, 2, 0],[0, 0, 1, 1, 2],[0, 0, 0, 0, 1]]), 2)'''
二.skimage.measure.regionprops(label_image, intensity_image = None, cache = True)[source]
参数解释:label_image:已经被标记好的输入图片
intensity_image:强度图,每个通道的像素值
cache:是否开启缓存,开启能加快计算速度
返回值:area (int) 区域内像素点总数
bbox (tuple) 边界外接框(min_row, min_col, max_row, max_col)
centroid (array) 质心坐标
convex_area (int) 凸包内像素点总数
convex_image (ndarray) 和边界外接框同大小的凸包
coords (ndarray) 区域内像素点坐标
Eccentricity (float) 离心率
equivalent_diameter(float) 和区域面积相同的圆的直径
euler_number (int) 区域欧拉数
extent (float) 区域面积和边界外接框面积的比率
filled_area (int) 区域和外接框之间填充的像素点总数
perimeter (float) 区域周长
label (int) 区域标记
PS:标注部分为常用部分,其中要注意返回的centroid,x,y坐标与图像中的x轴,y轴有所差异。
skimage函数记录之measure.label和measure.regionprops相关推荐
- skimage.measure.label和skimage.measure.regionprops()
原博客 https://www.cnblogs.com/denny402/p/5166258.html skimage.measure.label()函数 对二值图像进行连通区域进行标记,它的返回值就 ...
- skimage函数学习
morphology(凸包) from skimage importmorphology covex_hull_image convex_hull_image将图片中所有目标看作一个整体,计算一个最小 ...
- tensorflow函数记录
tensorflow函数记录 函数类型一 tf.stack() axis=0,1 tf.reduce_sum() axis=0,1 tf.concat() axis=0,1 功能快捷键 合理的创建标题 ...
- MATLAB【十三】————仿真函数记录以及matlab变成小结
part one:matlab 编程小结. 1.char 与string的区别,char使用的单引号 '' ,string使用的是双引号"". 2.一般标题中的输出一定要通过 nu ...
- UniDBGrid增加显示记录数的label及隐藏refresh按钮
2019独角兽企业重金招聘Python工程师标准>>> 1. 在UniDBgrid的extEvent属性中写入以下代码: function OnAfterCreate(sender) ...
- uni-app小程序云开发函数——记录
uniapp云开发 1. 初始化 2. 实例操作 3. 增加记录 4. 获取记录 5. 更新(修改数据) 6. 删除 创建云函数 因为最近要有小程序项目所以接触下小程序,没想到小程序能够云开发,可以自 ...
- python中常用函数表_Python常用函数记录
Python常用函数/方法记录 一. Python的random模块: 导入模块: import random 1. random()方法: 如上如可知该函数返回一个[0,1)(左闭右开)的一个随机的 ...
- Python数据可视化常用函数记录
1.两种等差数列np.linspace(1,12,3) 最后一个参数分割数量 np.arange(1,12,3) 最后一个参数 步长 2.plt.bar(x,y,label='Runningtime' ...
- php下dat函数e,PHP 常用函数记录 一
递归创建目录 /** * 递归创建目录 * @param [type] $dir [description] * @return [type] [description] */ function mk ...
最新文章
- 休眠后gpio状态_STM32休眠与唤醒
- jdbc mysql 自动重连_Mysql中JDBC如何完成自动重连机制的案例
- Optional变量初学者指南
- optee中的panic函数实现
- 多头注意力机制的理解
- python批量导入MongoDB数据库
- npm ERR! gifsicle@5.2.0 postinstall: `node lib/install.js`
- java socket 判断Socket连接失效
- 技术动态 | 图对比学习的最新进展
- mysql 图片转为二进制_php 图片转为二进制数据的方法
- 顺通车间扫码出入库管理系统仓库扫码软件
- DataStudio 编辑器快捷键列表
- 阿里云Maven仓库pom文件配置
- java运维工程师简历模板_系统运维工程师个人个人简历模板.doc
- 百度地图聚合找房开发
- [BZOJ2959]长跑——新技能:LCT+缩圈
- ASP.NET2.0 ReportingServices报表灵魂的收割者(一)
- RQ配置使用Redis Cluster
- wps如何调节行间距?
- 用C语言写一个简单的飞机大战游戏(用到easyx图形库)
热门文章
- [转载] Java线程池框架源码分析
- [基础题]8.(*)按如下要求编写Java程序:(1)定义一个交通工具收费接口Charge
- linux日志本地存储和网络存储,文件系统和本地存储管理 1
- 【数据结构与算法】之深入解析“贪心算法“的原理解析和算法实现
- iOS之性能优化·优化App的电池耗电量
- iOS之自定义封装tabBar
- 2013\Province_C_C++_A\7.错误票据
- BASIC-6 杨辉三角形
- 1132:石头剪子布
- ROS-kinetic 机器语音 之科大讯飞SDK