这里给出在Matlab图像处理工具箱中非常重要的一个图像分析函数:regionprops。顾名思义:它的用途是get the properties of region,即用来度量图像区域属性的函数。

语法

STATS = regionprops(L,properties)

描述

测量标注矩阵L中每一个标注区域的一系列属性。L中不同的正整数元素对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。返回值STATS是一个长度为max(L(:))的结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。properties 可以是由逗号分割的字符串列表、饱含字符串的单元数组、单个字符串 'all' 或者 'basic'。如果 properties 等于字符串 'all',则所有下述字串列表中的度量数据都将被计算,如果 properties 没有指定或者等于 'basic',则属性: 'Area', 'Centroid', 和 'BoundingBox' 将被计算。下面的列表就是所有有效的属性字符串,它们大小写敏感并且可以缩写。

属性字符串列表 Area EquivDiameter

MajorAxisLength

BoundingBox

EulerNumber

MinorAxisLength

Centroid

Extent

Orientation

ConvexArea

Extrema

PixelIdxList

ConvexHull

FilledArea

PixelList

ConvexImage

FilledImage

Solidity

Eccentricity

Image

属性详细定义

本部分将结合一个具体的例子说明各种字串相关属性的意义,矩阵取自在蚁蛉模式识别中做过预处理后的斑纹分割图像,如下图:

这是一幅二值图像,在应用regionprops函数之前必须将其标注,可以调用 bwlabel函数和伪彩色处理,标注后的图像如下图:

下面基于以上的材料来考察属性的含义。

'Area'

是标量,计算出在图像各个区域中像素总个数。注意:这个数值可能与由函数 bwarea 计算的值有轻微的不同。对于这样一个数值,我们可以使用它除以整个图像区域的像素个数而得到斑纹比例,可以作为模式识别的候选特征,并且这个特征是仿射不变的。在本例中最后计算出的面积向量是

[3.8952,9.7213,17.663,3.5762,1.3432,1.6958,0.41974,0.41974,21.625,12.324,4.8187,1.5111]/10000.

'BoundingBox'

是1行ndims(L)*2列的向量,即包含相应区域的最小矩形。BoundingBox 形式为 [ul_corner width],这里 ul_corner 以 [x y z ...] 的坐标形式给出边界盒子的左上角、boxwidth 以 [x_width y_width ...] 形式指出边界盒子沿着每个维数方向的长度。本例的各部分区域最小矩形如下图!注意:请在这熟悉一下函数rectangle的使用方法。

'Centroid'

是1行ndims(L)列的向量,给出每个区域的质心(重心)。 注意:Centroid 的第一个元素是重心水平坐标(x坐标)、第二个元素是重心垂直坐标(y坐标)。Centroid 所有其它元素则按照维顺序排列。下图采用以中心为圆心的小圆来演示质心检测的效果:

图中各质心坐标(标准化后的)依次为:

(x,y)= 0.10478, 0.76739 0.11883, 0.081545 0.19586, 0.61092 0.30701, 0.30807 0.65712, 0.31613 0.73165, 0.30531 0.74548, 0.35378 0.80624, 0.72802 0.84546, 0.61564 0.90554, 0.079574 0.93477, 0.77871 0.97611, 0.15576

'MajorAxisLength'

是标量,与区域具有相同标准二阶中心矩的椭圆的长轴长度(像素意义下)。本属性只支持二维标注矩阵。

'MinorAxisLength'

是标量,与区域具有相同标准二阶中心矩的椭圆的短轴长度(像素意义下)。本属性只支持二维标注矩阵。

'Eccentricity'

是标量,与区域具有相同标准二阶中心矩的椭圆的离心率(可作为特征)。本属性只支持二维标注矩阵。

'Orientation'

是标量,与区域具有相同标准二阶中心矩的椭圆的长轴与x轴的交角(度)。本属性只支持二维标注矩阵。

本例的各区域椭圆数据为: 长轴:18.767,45.172,43.003,30.687,16.505,15.698,5.8833,5.8833,46.954,38.873,22.929,15.429 短轴:16.211,26.079,32.709,9.8458,6.8019,8.6386,5.8833,5.8833,35.976,31.022,16.98,7.8038 离心率:0.50387,0.81652,0.6492,0.94713,0.91114,0.83497,0,0,0.64262,0.60262,0.67205,0.86266 方向角:-29.219,-32.192,-9.3909,-50.904,-70.333,48.823,0,0,14.035,17.986,3.0319,-34.238

我们可以考察离心率的变化趋势,得到对于整个区域中的各区域的似圆性如何的大致感觉,比如下图是12个区域的离心率变化情形:

由上图可以看出区域整体的似圆性并不好,实际上可以考虑使用离心率向量作为一个模式识别的特征!!

'Image'

二值图像,与某区域具有相同大小的逻辑矩阵。你可以用这个属性直接将每个子区域提取出来,然后再作相应的处理!比如本例的第一个斑纹区域提出后是:

matlab里使用函数图像,Matlab图像处理函数:regionprops使用图解相关推荐

  1. Mac系统中怎么绘制函数图像?附绘制函数图像教程~

    学数学常常要自己画图?画不对,画得慢,画的丑?Mac系统中怎么绘制函数图像?福利来了,mac系统下有非常方便的画函数图像的工具,可以快速地画出很多简单的,复杂的,2D的,3D的函数图像.简直就是学习数 ...

  2. matlab里inline定义矩阵,Matlab中的inline函数_matlab中inline函数

    Matlab中的inline函数 1.有时为了描述某个数学函数的方便,可以用inline()函数来直接编写该函数,形式相当于M-函数,但无编写一个真正的MATLAB文件,就可以描述出某种数学关系.其调 ...

  3. matlab里randn是什么,matlab中randn函数用法

    matlab中randn函数用法 MATLAB 中的randn函数 matlab函数 randn:产生正态分布的随机数或矩阵的函数 randn:产生均值为0,方差σ^2 = 1,标准差σ = 1的正态 ...

  4. psnr用matlab读取一幅图像,matlab实现PSNR

    @ 1.PSNR原理 PSNR,峰值信噪比,通常用来评价一幅图像压缩后和原图像相比质量的好坏,当然,压缩后图像一定会比原图像质量差的,所以就用这样一个评价指标来规定标准了.PSNR越高,压缩后失真越小 ...

  5. matlab里的function编程,MATLAB 元编程介绍

    这篇文章对 Matlab 中的元编程进行了简单的介绍.Matlab 是一个古老而又高度专业化的语言.由于这一原因,缺乏很多在现代或者通用语言中拥有的特性.然而,用一些简单的工具,我们可以发现 Matl ...

  6. 用计算机绘制函数图像数学大师,什么手机app可以画函数图像 能画函数图像的app推荐...

    如今手机使用越来越频繁,在一些数学问题的研究上,也可以通过手机来记性绘图,那么什么手机app可以画函数图像,小编为大家带来了几款能画函数图像的app,介绍每款安卓软件的特点,下面就一起来了解一下吧! ...

  7. Python实现绘制函数图像——以Sigmoid函数为例

    在深度学习的研究中,我们经常需要知道激活函数(阶跃函数)的图像,以此判断该神经网络的阈值,并更好的去对权重进行调整.但对于某些复杂的复合函数而言,我们非常困难手画出它的函数图像,这样不仅费时费力,而且 ...

  8. 图的存储结构matlab,matlab存储 一幅图像的的函数为( )

    事业部式是分级管理.分级核算.自负盈亏的一种组织结构形式. 班主任了解学生的方法有( ). 下列哪项不是缺血性脑卒中急性期治疗方法? 某饭店有客房300间,预计客房出租率为80%,全年客房固定成本为2 ...

  9. matlab里H是什么,matlab 中 hObject和handles区别

    h:指回调函数被调用对象的句柄:handles:是包含GUI中所有组件句柄的结构体,该结构体的域名由对象的TAG属性定义.也可以用来传递数据给其他的回调函数和主程序. 例如:创建一个包含button的 ...

最新文章

  1. 《Python基础知识全家桶》
  2. web前端java script学习2017.7.11
  3. Kafka 压测:3 台廉价服务器竟支撑 200 万 TPS
  4. 枚举法 之Java实现凑硬币
  5. linux多少个端口,Linux允许python使用多少个网络端口?
  6. 【DP】【树状数组】方伯伯的玉米田/优美玉米(luogu 3287/金牌导航 数据结构优化DP-5)
  7. SQL必知必会-更新和删除数据
  8. internet缓存Temp中的tmp文件
  9. 实战Vue:ToDoList
  10. 合肥工业大学宣城校区计算机大赛,合肥工业大学宣城校区学子在2019年全国大学生电子设计竞赛中喜获佳绩...
  11. java ee 企业级意味着什么意思_​Java EE是什么意思
  12. Akka 2 Actor 源码
  13. vue怎么编辑已有视频_vue如何编辑视频 vue编辑视频方法
  14. 樊昌信 通信原理第七版 第九章思考题
  15. python部署阿里云_python部署到阿里云
  16. linux权限百度贴吧,api接口权限控制
  17. 面试官的技巧---如何高效地面试
  18. storm风暴英雄 tempo_【风暴英雄】锐派专区 - fb.replays.net | 风暴英雄官网合作中文站...
  19. 【工业设计公司】产品外观设计的重要性
  20. 纯CSS制作加div制作动画版哆啦A梦

热门文章

  1. C语言使用递归法计算n的阶乘
  2. 写的一个简易评委打分系统(内含详细注释)
  3. Housewife Wind
  4. offsetLeft深入研究
  5. SSO单点登录原理详解
  6. python设置字符_python字符串操作
  7. http和https协议
  8. super与this对比
  9. Python 中for else的用法
  10. [转载]EDID和TV OSD的使用说明