(整理)MATLAB 标注连通域.
matlab 连通域 圆形度
MATLAB中的连通域分析和圆形度计算
连通域分析和圆形度计算是图像处理中常用的方法,用于分析图像中的对象形状和结构。在MATLAB中,我们可以利用一些内置的函数和工具进行连通域分析和圆形度计算。本文将介绍如何使用MATLAB进行连通域分析和圆形度计算,并探讨其在图像处理中的应用。
一、连通域分析
1.1 什么是连通域?
连通域是指图像中具有相同像素值且彼此相连的像素集合。在图像处理中,连通域分析可以用于识别和分割出图像中的不同对象或区域。
1.2 MATLAB中的连通域分析
在MATLAB中,我们可以使用bwlabel函数来进行连通域分析。该函数可以将输入的二值图像中的连通域进行标记,并返回标记后的图像和连通域的数量。
1.3 连通域分析的应用
连通域分析常被应用于目标检测、图像分割和形状分析等领域。通过
连通域分析,我们可以识别和提取图像中的不同对象,进而对其进行
进一步的分析和处理。
二、圆形度计算
2.1 什么是圆形度?
圆形度是指一个对象或区域与圆的相似程度,通常用于描述对象的整
体形状。圆形度的计算可以帮助我们评估和比较不同对象的形状特征。
2.2 MATLAB中的圆形度计算
在MATLAB中,我们可以使用regionprops函数来计算图像中对象
的圆形度。该函数可以提取对象的各种形状特征,包括面积、周长、
轮廓等,并通过这些特征来计算对象的圆形度。
2.3 圆形度计算的应用
圆形度计算常被应用于医学影像分析、工程结构分析和生物形态学研
究等领域。通过计算对象的圆形度,我们可以量化其形状特征,并据
此进行对象的分类、识别和比较。
matlab练习程序(二值图像连通区域标记法,两步法)
matlab练习程序(⼆值图像连通区域标记法,两步法)
我⼏乎完全就是照着上的算法实现的,不过是⽤Matlab⽽已。使⽤了两步法进⾏标记,⼀步法我还没怎么看。两步法中第⼆步是⽐较⿇烦的,其中⽤到了不相交集合的⼀些理论,尤其是不相交集合森林,我这⾥的find_set函数就是参考《算法导论》311页的算法写的。如果⽤c++写,也许需要⾃⼰构造数据结构。
好吧,下⾯是我理解的算法过程:
1.⾸先要确定是标记8邻域连通还是4邻域连通,如果是8邻域连通,就⽤的模板,如果是4邻域连通,就⽤
的模板。我这⾥⽤了是8连通。
2.⽤模板变量图像,类似卷积,不过不计算,只⽐较。⽐较当前像素和邻域4个或2个像素,如果都不相等,那么标记号加⼀,并且把这个标记号赋值给另⼀个标记空间中相同位置的像素,因为不能破坏当前图像的像素。如果有⼀个相等,那么就把这4个或2个像素中⾮背景像素中的最⼩值赋给另⼀个标记空间相同位置的像素,并且把这4个或2个像素同有相同当前位置像素值的集合取并集(ps:这个真的好难解释--!!)。遍历完会得到标记图像和有标记号那么多个的标记集合。
3.遍历标记图像,按标记图像的像素值索引标记集合,找到标记集合中代表当前集合最⼩的值赋值给原图像当前位置的像素(ps:这⾥最好看《算法导论》或)。
还是看代码吧,运⾏⼀下更好:
main.m
clear all;
close all;
clc;
img=imread('liantong.bmp');
imgn=img>128;
s=uint8(1-imgn);
matlab计算连通域矩形度
matlab计算连通域矩形度
Matlab是一种功能强大的数值计算和数据可视化软件,可以用于计算图像处理中的各种度量指标,包括连通域矩形度。
连通域矩形度是一种用于衡量图像中连通域形状的指标。在图像处理中,连通域是指由具有相同灰度值或颜色的像素组成的区域。连通域矩形度可以用来评估图像中连通域的形状是否更接近于矩形。
在Matlab中,我们可以使用区域props函数来计算连通域的属性,其中包括连通域的质心、面积、周长和边界框等。通过计算连通域的矩形度,我们可以进一步分析图像中不同对象的形状特征。
下面是一个示例代码,演示了如何计算图像中连通域的矩形度: ```matlab
% 读取图像
img = imread('image.jpg');
% 二值化处理
bw = im2bw(img, graythresh(img));
% 获取连通域
cc = bwconncomp(bw);
% 计算连通域属性
props = regionprops(cc, 'Area', 'BoundingBox');
% 计算连通域的矩形度
rectangularity = zeros(cc.NumObjects, 1);
for i = 1:cc.NumObjects
area = props(i).Area;
boundingBox = props(i).BoundingBox;
rectangularity(i) = area / (boundingBox(3) * boundingBox(4));
end
% 统计连通域矩形度的均值和标准差
matlab 二维坐标数组求解连通区域-概述说明以及解释
matlab 二维坐标数组求解连通区域-概述说明以及
解释
1.引言
概述部分的内容可以如下编写:
1.1 概述
在数字图像处理和计算机视觉领域中,连通区域是常见的概念,它代表了具有相同像素值或特定属性的像素的集合。
本文将主要介绍使用MATLAB对二维坐标数组进行连通区域的求解方法。二维坐标数组是一种常见的数据结构,用于存储和表示二维平面上的图像、地理信息等。
连通区域的求解在许多应用中都具有重要意义。例如,在图像处理中,我们经常需要对目标进行分割和提取,而连通区域的求解可以帮助我们实现这一目标。此外,在计算机视觉领域,连通区域的应用也非常广泛,如对象识别、目标跟踪等。
在正文部分,我们将首先介绍二维坐标数组的定义和特点,包括如何表示和访问数组中的元素。然后,我们将详细解释连通区域的概念和应用,
以及常见的连通区域求解算法和技术。
最后,在结论部分,我们将总结本文所介绍的二维坐标数组求解连通区域的方法,并给出相关实验结果和分析。
通过本文的阅读,读者将能够了解和掌握使用MATLAB对二维坐标数组进行连通区域求解的方法和技巧,从而在实际应用中能够灵活运用和扩展相关算法。
希望本文能够对读者在数字图像处理和计算机视觉领域的学习和研究工作有所帮助。
文章结构部分可以根据文章的主要内容和逻辑,介绍文章的主要章节和各个章节的内容概要。下面是1.2 文章结构部分的内容示例:
1.2 文章结构
本文将按照以下结构进行叙述:
第二部分:正文
本部分主要介绍了二维坐标数组的定义和特点,并深入探讨了连通区域的概念和应用。首先,我们将对二维坐标数组进行详细的定义,并解释
matlab连通域提取
matlab连通域提取
Matlab连通域提取是一种基于Matlab编程语言的图像处理技术,主要用于提取数字图像中的连通域。在数字图像中,连通域是指由像素构成的连续区域,其像素值具有相同或类似的特征。通过连通域提取技术,可以将数字图像中的目标物体从背景中分离出来,对于目标检测、图像分割、特征提取等应用具有重要意义。
Matlab连通域提取主要分为两种方法:基于二值图像和基于灰
度图像。基于二值图像的连通域提取方法是将数字图像转化为二值图像后,通过二值图像的形态学运算和区域标记技术来提取连通域。而基于灰度图像的连通域提取方法是将数字图像转化为灰度图像后,通过阈值分割和灰度区域标记技术来提取连通域。
Matlab连通域提取技术广泛应用于图像处理领域,如医学影像
分析、遥感影像分析、工业自动化等。同时,Matlab连通域提取技
术也是学习数字图像处理的重要内容之一,对于提高数字图像处理的实践能力具有重要意义。
- 1 -
matlab实现求图的连通分量算法
该算法主要是仿照c中利用先深搜索算法求图的连通分量的算法改写的。
该算法假设有20个点,1号和2、4号相连,2号和3号相连,5号和6、7号相连,8号和9号相连,其他点都是孤立点。
结果图如下:
代码如下:
clear
N_TASK=20; %N_TASK任务的总个数
%随机生成任务点的坐标
x=rand(N_TASK,1);
x=x*N_TASK;
y=rand(N_TASK,1);
y=y*N_TASK;
for i=1:N_TASK
z(i).x=x(i);
z(i).y=y(i);
z(i).mark=0;
z(i).next=0;
z(i).next(2)=0;
z(i).next(3)=0;
z(i).groupnumber=0;
end
%使用z的next域表示点的下一个连接点
z(1).next(1)=2;
z(2).next(1)=3;
z(1).next(2)=4;
z(5).next(1)=6;
z(5).next(2)=7;
z(8).next(1)=9;
%使用邻接矩阵表示点与点之间的链接关系
z_neighbors=zeros(N_TASK,N_TASK);
z_neighbors(1,2)=1;
z_neighbors(2,3)=1;
z_neighbors(1,4)=1;
z_neighbors(5,6)=1;
z_neighbors(5,7)=1;
z_neighbors(8,9)=1;
%使用递归的方法对图进行先深搜索求图的连通分量z=dfs_main(z);
%画点
for i=1:N_TASK
plot(z(i).x,z(i).y,'k*');
(完整版)图的连通性判断matlab实验报告
(完整版)图的连通性判断matlab实验报告
实验三:图的连通性判断
一、实验目的
用计算机语言编写图的连通性判断算法,可输入图的邻接矩阵,判断图是否连通以及确定连通分支的个数,掌握Warshell 算法或矩阵幂算法的实现方法。
二、实验原理
1、Warshell 算法
Warshell 算法可解决图是否连通的问题, 而且效率很高。在该算法中,矩阵P 是判断矩阵,1=ij p 表示从i 到j 连通,0=ij p 表示从i 到j 不连通。
(1)置新矩阵 P:= C ;
(2)置 i = 1;
(3)对所有的j ,若1),(=i j p , 则对k=1,2,…,n , 有),(),(:),(k i p k j p k j p ∨=;
(4) 1+=i i ;
(5) 如i n ≥转向步骤(3), 否则停止。
2、矩阵幂算法
由于邻接阵包含了图的所有信息,和关联阵一样,是图的等价表示。可以通过对邻接阵C 做一些计算,得到图G 的一些性质。例如考虑3C 中的),(j i 的元素
)3(,j i c ,如果它不为零,由于∑∑=k j l l k k i j i c c c c l
,,,)3(,,则至少存在一组1
,,,===j l l k k i c c c 或一个长度为3的链使端i 和端j 相连。从而,通过计算C 的各阶幂次可得到关于图是否连通的信息。
三、实验内容
1.利用MATLAB 等语言实现图的连通性判断算法,可对输入的邻接阵进行连通性以及连通分支数的判断。
2.比较Warshell 算法和矩阵幂算法在算法正确性和算法复杂度上
matlab的regionprops函数
matlab的regionprops函数
一、介绍
regionprops函数是MATLAB中用于计算二值图像中连通区域属性的函数。它可以计算出每个连通区域的面积、周长、中心点坐标、边界框等属性,并将这些属性存储在一个结构体数组中,方便后续处理和分析。
二、语法
regionprops(BW,properties)
其中,BW为二值图像,properties为要计算的属性列表,可以是一个或多个属性。常用的属性包括:
1. 'Area':连通区域面积
2. 'Perimeter':连通区域周长
3. 'Centroid':连通区域中心点坐标
4. 'BoundingBox':连通区域边界框
5. 'Eccentricity':连通区域离心率
6. 'MajorAxisLength':连通区域主轴长度
7. 'MinorAxisLength':连通区域次轴长度
三、示例
下面以一个简单的示例来说明如何使用regionprops函数:
```matlab
% 读取图像并转换为二值图像
I = imread('coins.png');
BW = imbinarize(I);
% 计算连通区域的属性
stats =
regionprops(BW,'Area','Perimeter','Centroid','BoundingBox');
% 绘制结果并显示
imshow(I);
hold on;
for i = 1:length(stats)
rectangle('Position',stats(i).BoundingBox,'EdgeColor','r'); plot(stats(i).Centroid(1),stats(i).Centroid(2),'r*');
针对matlab四连通,和八连通的详解
针对matlab四连通,和八连通的详解
功能:标注二进制图像中已连接的部分。
语法:L = bwlabel(BW,n) [L,num] = bwlabel(BW,n)
其中BW为输入图像;N可取值为4或8表示连接四连通或八连通区域;NUM为找到的连通区域数目;L为输出图像矩阵,其元素值为整数,背景被标记为0,第一个连通区域被标记为1,第二个连通区域被标记为2,依此类推.所以你不明白的1,2,3即为第1,2,3个连通区域的标记网上给出的解释大部分是不完整的,
官网的解释
L = bwlabel(BW, n) returns a matrix L, of the same size as BW, containing labels for the connected objects in BW. The variable n can have a value of either 4 or 8, where 4 specifies 4-connected objects and 8 specifies 8-connected objects. If the argument is omitted, it defaults to 8.
The elements of L are integer values greater than or equal to 0. The pixels labeled 0 are the background. The pixels labeled 1 make up one object; the pixels labeled 2 make up a second object; and so on.
matlab 连通域 圆度
在MATLAB中,计算图像中的连通域并分析其圆度通常涉及到以下步骤:
1. 读取和预处理图像:
首先,你需要读取图像并进行必要的预处理,如二值化、去除噪声等。
matlab代码:
2. 检测连通域:
使用bwlabel函数可以检测图像中的连通域,并为每个连通域分配一个唯一的标签。
matlab代码:
3. 计算连通域的属性:
使用regionprops函数可以计算每个连通域的各种属性,包括面积、周长、质心坐标等。
matlab代码:
4. 计算圆度:
圆度通常是通过比较物体的面积与其周长平方的比值来计算的。在这个公式中,完美的圆的圆度为1,而形状越偏离圆形,圆度越接近0。
matlab代码:
5. 可视化结果:
可以使用imshow函数显示原始图像,并使用hold on和plot函数绘制出每个连通域的边界以及标注其圆度。
matlab代码:
这段代码将会显示带有红色边框的连通域,并在每个区域的质心位置显示其圆度值。
请注意,以上代码是一个基本示例,你可能需要根据你的具体需求进行调整。例如,你可能需要调整阈值、最小连通域大小、圆度的计算方法等。同时,如果你的图像中包含多个通道或者需要进行更复杂的形状分析,可能需要进一步修改代码。
提取二值图中连通域的包围框matlab
提取⼆值图中连通域的包围框matlab
[l,mm]=bwlabel(img2,8);%img2为⼆值图
status=regionprops(l,'BoundingBox'); %%画外接矩形
hold on;
for i=1:mm
rectangle('position',status(i).BoundingBox,'edgecolor','r');
end
hold off;
aa=zeros(mm,4);
a=status;
for ig=1:mm
aa(ig,1:4)=a(ig).BoundingBox;
end
MATLAB 标注连通域
matlab 标注连通域
clear;
clc;
f=imread('c:\1.jpg');
gray_level=graythresh(f);
f=im2bw(f,gray_level);
[l,n]=bwlabel(f,8)
imshow(f)
hold on
for k=1:n
[r,c]=find(l==k);
rbar=mean(r);
cbar=mean(c);
plot(cbar,rbar,'Marker','o','MarkerEdgeColor','k','MarkerFaceColor','k','MarkerSize',10);
plot(cbar,rbar,'Marker','*','MarkerEdgecolor','w');
end
主要概念:
1.4连接 8连接
0 1 0
1 p 1 ===> 4连接,p为当前像素点。
0 1 0
1 1 1
1 p 1 ====》8连接,p为当前像素点。
1 1 1
2.bwlabel()函数
语法: [ L, num]=bwlabel(f,conn)
其中f是一副二值图像,conn用来指定期望的连接(不是4就是8),默认为8,输出L称为标记矩阵,参数num给出所找到连接分量的总数。
3.find()函数
该函数非常有用,会返回指定条件的索引值,在标记矩阵中的作用是返回对应对象的索引。
I = FIND(X) returns the linear indices corresponding to
the nonzero entries of the array X. X may be a logical expression.
matlab连通域的内切圆
matlab连通域的内切圆
在MATLAB中,要找到连通域的内切圆,可以遵循以下步骤:
1. 首先,使用MATLAB的图像处理工具箱中的函数对图像进行
预处理,将其转换为二值图像。可以使用im2bw函数将图像转换为
二值图像,或者使用适当的阈值方法如imbinarize进行图像二值化
处理。
2. 接下来,使用bwlabel函数标记二值图像中的连通域。这将
为图像中的每个连通域分配一个唯一的标签。
3. 然后,可以使用regionprops函数计算每个连通域的属性,
包括面积、重心等。通过计算连通域的属性,可以找到每个连通域
的内切圆。
4. 对于每个连通域,可以使用regionprops函数计算其边界框。然后,可以使用边界框的宽度和高度来估算内切圆的半径。
5. 最后,可以使用viscircles函数在原始图像上绘制找到的
内切圆。viscircles函数接受圆心坐标和半径作为输入,并在图像
上绘制圆。
需要注意的是,以上步骤是一种基本的方法,具体实现可能会根据图像的特性和要求进行调整。另外,MATLAB提供了丰富的图像处理函数和工具,可以根据具体情况选择合适的函数和方法来实现对连通域内切圆的查找和绘制。
(整理)MATLAB 标注连通域.
matlab 标注连通域
clear;
clc;
f=imread('c:\1.jpg');
gray_level=graythresh(f);
f=im2bw(f,gray_level);
[l,n]=bwlabel(f,8)
imshow(f)
hold on
for k=1:n
[r,c]=find(l==k);
rbar=mean(r);
cbar=mean(c);
plot(cbar,rbar,'Marker','o','MarkerEdgeColor','k','MarkerFaceColor','k','MarkerSize',10);
plot(cbar,rbar,'Marker','*','MarkerEdgecolor','w');
end
主要概念:
1.
2.4连接 8连接
0 1 0
1 p 1 ===> 4连接,p为当前像素点。
0 1 0
1 1 1
1 p 1 ====》8连接,p为当前像素点。
1 1 1
3.bwlabel()函数
语法: [ L, num]=bwlabel(f,conn)
其中f是一副二值图像,conn用来指定期望的连接(不是4就是8),默认为8,输出L称为标记矩阵,参数num给出所找到连接分量的总数。
4.find()函数
该函数非常有用,会返回指定条件的索引值,在标记矩阵中的作用是返回对应对象的索引。
I = FIND(X) returns the linear indices corresponding to
the nonzero entries of the array X. X may be a logical expression.
图像分析:二值图像连通域标记
二、连通域
如果像素点A与B邻接,我们称A与B连通,于是我们不加证明的有如下的结论:
三、连通区域的标记
第一行,我们得到两个团:[2,6]和[10,13],同时给它们标记1和2。
下面是这个过程的C++实现,每个等价表用一个vector
整个算法步骤,我们只扫描了一次图像,同时我们对图像中的像素进行标记,要么赋予一个新的标号,要么用它同行P点。最后不要忘了把C的值加1。这个过程如下面图像S1中所示。
情况3
1)如果P是外轮廓的起点,也就是说我们是从P点开始跟踪的,那么我们从7号(右上角)位置P1P1开始,看7号在L上标记为一个负值。如下图所示,其中右图像标记的结果。
2)那么如果P是不是外轮廓的起点,即P是外轮廓路径上的一个点,那么它肯定是由一个点进入的,我们设置为P−
在OpenCV中查找轮廓的函数已经存在了,而且可以得到轮廓之间的层次关系。这个函数按上面的算法实现起来并不
matlab连通区域标记例题
Matlab连通区域标记例题
一、引言
Matlab是一款功能强大的数学软件,广泛应用于科学计算、工程技术和教育领域。在图像处理领域,Matlab提供了丰富的图像处理工具箱,可以实现各种图像处理操作,如图像增强、图像分割、图像识别等。
本文将结合一个实际例题,介绍Matlab中的连通区域标记算法及其
实现方法。
二、连通区域标记算法概述
连通区域标记是图像处理中常用的一种算法,用于标记图像中具有相
同特征的连通区域。其基本思想是遍历图像中的每个像素,根据像素
之间的连通关系,将具有相同特征的像素分为不同的连通区域,并对
每个连通区域进行标记。常见的连通区域标记算法有基于扫描线的算法、基于种子填充的算法等。在Matlab中,可以利用内置函数实现
连通区域标记,如bwlabel、bwlabeln等。
三、实例展示
假设有一副二值图像A,其内容如下所示:
A = [0 0 1 1 0 0 0 0;
0 1 1 1 0 0 0 0;
0 0 0 0 1 1 0 0;
0 0 0 1 1 1 0 0;
0 0 0 0 1 0 0 0;
0 0 0 0 0 0 0 0;
0 0 0 0 0 0 1 1;
0 0 0 0 0 0 1 1]
现需要对图像A进行连通区域标记,对其连通区域进行编号。
四、Matlab代码实现
Matlab中可以利用bwlabel函数对图像进行连通区域标记,其基本语法如下:
```matlab
[L, num] = bwlabel(A, n);
```
其中,A为输入的二值图像,n为连通区域的类型,取值为4或8分别表示4连通和8连通。L为输出的标记图像,num表示标记的连通区域数目。下面给出具体的Matlab代码实现:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
matlab 标注连通域
clear;
clc;
f=imread('c:\1.jpg');
gray_level=graythresh(f);
f=im2bw(f,gray_level);
[l,n]=bwlabel(f,8)
imshow(f)
hold on
for k=1:n
[r,c]=find(l==k);
rbar=mean(r);
cbar=mean(c);
plot(cbar,rbar,'Marker','o','MarkerEdgeColor','k','MarkerFaceColor','k','MarkerSize',10);
plot(cbar,rbar,'Marker','*','MarkerEdgecolor','w');
end
主要概念:
1.
2.4连接 8连接
0 1 0
1 p 1 ===> 4连接,p为当前像素点。
0 1 0
1 1 1
1 p 1 ====》8连接,p为当前像素点。
1 1 1
3.bwlabel()函数
语法: [ L, num]=bwlabel(f,conn)
其中f是一副二值图像,conn用来指定期望的连接(不是4就是8),默认为8,输出L称为标记矩阵,参数num给出所找到连接分量的总数。
4.find()函数
该函数非常有用,会返回指定条件的索引值,在标记矩阵中的作用是返回对应对象的索引。
I = FIND(X) returns the linear indices corresponding to
the nonzero entries of the array X. X may be a logical expression.
Use IND2SUB(SIZE(X),I) to calculate multiple subscripts from
the linear indices I.
find(bwlabel(bw)==2)表示的意思是连通域2中的数值所在向量的位置。
5.mean()函数
求数组平均值
matlab函数_连通区域
1、matlab函数bwareaopen——删除小面积对象
格式:BW2 = bwareaopen(BW,P,conn)
作用:删除二值图像BW中面积小于P的对象,默认情况下使用8邻域。
算法:
(1)Determine the connected components.
L = bwlabeln(BW, conn);
(2)Compute the area of each component.
S = regionprops(L, 'Area');
(3)Remove small objects.
bw2 = ismember(L, find([S.Area] >= P));
2、matlab函数bwarea——计算对象面积
格式:total = bwarea(BW)
作用:估计二值图像中对象的面积。
注:该面积和二值图像中对象的像素数目不一定相等。
3、matlab函数imclearborder——边界对象抑制
格式:IM2 = imclearborder(IM,conn)
作用:抑制和图像边界相连的对象。若IM是二值图,imclearborder将删除和图像边界相连的对象。默认情况conn=8。
注:For grayscale images, imclearborder tends to reduce the overall intensity level in addition to suppressing border structures.
算法:
(1)Mask image is the input image.
(2)Marker image is zero everywhere except along the border, where it equals the mask image.
4、matlab函数bwboundaries——获取对象轮廓
格式:B = bwboundaries(BW,conn)(基本格式)
作用:获取二值图中对象的轮廓,和OpenCV中cvFindContours函数功能类似。B是一个P×1的cell数组,P为对象个数,每个cell 是Q×2的矩阵,对应于对象轮廓像素的坐标。
5、matlab函数imregionalmin——获取极小值区域
格式:BW = imregionalmin(I,conn)
作用:寻找图像I的极小值区域(regional maxima),默认情况conn=8。
Regional minima are connected components of pixels with a constant intensity value, and whose external boundary pixels all have a higher value.
6、matlab函数bwulterode——距离变换的极大值
格式:BW2 = bwulterode(BW,method,conn)
作用:终极腐蚀。寻找二值图像BW的距离变换图的区域极大值(regional maxima)。用于距离变换的距离默认为euclidean,连通性为8邻域。
7、regionprops统计被标记的区域的面积分布,显示区域总数。
函数regionprops语法规则为:STATS = regonprops(L,properties)
该函数用来测量标注矩阵L中每一个标注区域的一系列属性。
L中不同的正整数元素对应不同的区域,例如:L中等于整数1的元素对应区域1;L中等于整数2的元素对应区域2;以此类推。返回值STATS是一个长度为max(L()的结构数组,结构数组的相应域定义了每一个区域相应属性下的度量。
Properties可以是由逗号分割的字符串列表、包含字符串的单元数组、单个字符串'all'或者'basic'。如果properties等于字符串'all',则表4.1中的度量数据都将被计算;如果properties等于字符串'basic',则属性:'Area','Centroid'和'BoundingBox'将被计算。表1就是所有有效的属性字符串