主要内容

测量区域的灰度图像

这个例子展示了如何衡量一个灰度图像中对象的属性。为此,第一段的灰度图像得到一个二进制图像对象。然后,使用regionprops函数来分析原始灰度像素值对应于二进制图像中的每个对象。

步骤1:创建合成图像

使用一个helper函数,propsSynthesizeImage,创建一个包含五个不同区域的灰度图像。

我= propsSynthesizeImage;imshow (I)标题(的合成图像)

图包含一个坐标轴对象。标题合成图像的坐标轴对象包含一个类型的对象的形象。

步骤2:创建一个二进制图像

段灰度图像通过创建一个包含原始图像中对象的二进制图像。

BW = > 0;imshow (BW)标题(的二进制图像)

图包含一个坐标轴对象。轴与标题二进制图像对象包含一个类型的对象的形象。

步骤3:计算使用像素的灰度值图像对象属性

regionprops函数支持多种属性,万博1manbetx可用于灰度图像,包括“WeightedCentroid”,“MeanIntensity”,“MinIntensity”,“MaxIntensity”。这些对象的属性使用原始的像素值的计算。

例如,您可以使用regionprops计算质心和加权质心图像中的对象。注意如何通过二进制图像(BW)包含对象和原始灰度图像()作为参数regionprops

s = regionprops (BW, {“重心”,“WeightedCentroid”});

比较加权质心位置与未加权质心位置,显示原始图像,然后使用持有情节功能,重叠图像的质心。

imshow (I)标题(加权(红色)和未加权的(蓝色)质心的);持有numObj =元素个数(年代);k = 1: numObj情节(s (k) .WeightedCentroid (1), s (k) .WeightedCentroid (2),的r *)图(s (k) .Centroid (1), s (k) .Centroid (2),“波”)结束持有

图包含一个坐标轴对象。坐标轴对象标题加权(红色)和未加权的(蓝色)质心包含11个对象类型的形象,线。一个或多个行显示的值只使用标记

第四步:计算自定义像素的价值属性

您可以使用“PixelValues”财产执行自定义的计算基于原始灰度图像的像素值。的“PixelValues”属性返回一个向量包含像素点的灰度值在一个地区。

作为一个例子,计算每个区域的标准偏差。

s = regionprops (BW, {“重心”,“PixelValues”,的边界框(“大小)});imshow (I)标题(地区的标准偏差)举行k = 1: numObj s (k)。StandardDeviation =性病(双(s (k) .PixelValues));文本(s (k) .Centroid (1), s (k) .Centroid (2),sprintf (' % 2.1 f 's (k) .StandardDeviation),“EdgeColor”,“b”,“颜色”,“r”);结束持有

图包含一个坐标轴对象。标题标准差的坐标轴对象区域包含6对象类型的图像,文本。

这图显示了标准偏差测量叠加在图像中的每个对象。您还可以查看结果在其他方面,例如为条形图显示标签数量的标准差。

图酒吧(1:numObj, [s.StandardDeviation])包含(“区域标签数量”)ylabel (“标准差”)

图包含一个坐标轴对象。坐标轴对象包含区域标签号码,ylabel标准差包含一个对象类型的酒吧。

你可以用情节来决定如何分区的数据。例如,下面的代码标识对象与标准偏差低于50。

sStd = [s.StandardDeviation];lowStd =找到(sStd < 50);imshow (I)标题(的对象有标准差< 50)举行k = 1:长度(lowStd)矩形(“位置”.BoundingBox, s (lowStd (k)),“EdgeColor”,“y”);结束持有

图包含一个坐标轴对象。坐标轴对象标题对象有标准差< 50包含2类型的对象形象,长方形。

另请参阅

||

相关的话题