MATLAB中处理边界的函数
生活随笔
收集整理的這篇文章主要介紹了
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 = regionprops(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就是所有有效的屬性字符串。
表1 屬性字符串列表----度量圖像區域的屬性或功能
'Area'?圖像各個區域中像素總個數
'BoundingBox' ?包含相應區域的最小矩形
'Centroid'?每個區域的質心(重心)
'MajorAxisLength'?與區域具有相同標準二階中心矩的橢圓的長軸長度(像素意義下)
'MinorAxisLength'?與區域具有相同標準二階中心矩的橢圓的短軸長度(像素意義下)
'Eccentricity'?與區域具有相同標準二階中心矩的橢圓的離心率(可作為特征)
'Orientation'?與區域具有相同標準二階中心矩的橢圓的長軸與x軸的交角(度)
'Image'?與某區域具有相同大小的邏輯矩陣
'FilledImage'?與某區域具有相同大小的填充邏輯矩陣
'FilledArea'?填充區域圖像中的on像素個數
'ConvexHull'?包含某區域的最小凸多邊形
'ConvexImage'?畫出上述區域最小凸多邊形
'ConvexArea'???填充區域凸多邊形圖像中的on像素個數
'EulerNumber'?幾何拓撲中的一個拓撲不變量——歐拉數
'Extrema'?八方向區域極值點
'EquivDiameter'?與區域具有相同面積的圓的直徑
'Solidity'?同時在區域和其最小凸多邊形中的像素比例
'Extent'?同時在區域和其最小邊界矩形中的像素比例
'PixelIdxList'?存儲區域像素的索引下標
'PixelList'?存儲上述索引對應的像素坐標?
格式: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 = regionprops(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就是所有有效的屬性字符串。
表1 屬性字符串列表----度量圖像區域的屬性或功能
'Area'?圖像各個區域中像素總個數
'BoundingBox' ?包含相應區域的最小矩形
'Centroid'?每個區域的質心(重心)
'MajorAxisLength'?與區域具有相同標準二階中心矩的橢圓的長軸長度(像素意義下)
'MinorAxisLength'?與區域具有相同標準二階中心矩的橢圓的短軸長度(像素意義下)
'Eccentricity'?與區域具有相同標準二階中心矩的橢圓的離心率(可作為特征)
'Orientation'?與區域具有相同標準二階中心矩的橢圓的長軸與x軸的交角(度)
'Image'?與某區域具有相同大小的邏輯矩陣
'FilledImage'?與某區域具有相同大小的填充邏輯矩陣
'FilledArea'?填充區域圖像中的on像素個數
'ConvexHull'?包含某區域的最小凸多邊形
'ConvexImage'?畫出上述區域最小凸多邊形
'ConvexArea'???填充區域凸多邊形圖像中的on像素個數
'EulerNumber'?幾何拓撲中的一個拓撲不變量——歐拉數
'Extrema'?八方向區域極值點
'EquivDiameter'?與區域具有相同面積的圓的直徑
'Solidity'?同時在區域和其最小凸多邊形中的像素比例
'Extent'?同時在區域和其最小邊界矩形中的像素比例
'PixelIdxList'?存儲區域像素的索引下標
'PixelList'?存儲上述索引對應的像素坐標?
總結
以上是生活随笔為你收集整理的MATLAB中处理边界的函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB中sort函数对矩阵数进行排
- 下一篇: Matlab 图像处理相关函数命令