日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab axis 用法,MATLAB中regionprops的用法

發布時間:2024/9/27 循环神经网络 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab axis 用法,MATLAB中regionprops的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Matlab圖像處理函數:regionprops

這里給出在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'

二值圖像,與某區域具有相同大小的邏輯矩陣。你可以用這個屬性直接將每個子區域提取出來,然后再作相應的處理!比如本例的第一個斑紋區域提出后是:

'FilledImage'

與上相同,唯一區別是這是個做了填充的邏輯矩陣!

本例中和上面的沒有區別,只有區域有空洞時才有明顯差別。

'FilledArea'

是標量,填充區域圖像中的 on 像素個數。

'ConvexHull'

是p行2列的矩陣,包含某區域的最小凸多邊形。此矩陣的每一行存儲此多邊形一個頂點的xy坐標。此屬性只支持2維標注矩陣。例如:本例中的所有子區域的最小凸多邊形圖形如下圖

看看第2個區域的大圖:

'ConvexImage'

二值圖像,用來畫出上述的區域最小凸多邊形。同時此凸包內的像素均打開,圖像尺寸和此區域對應邊界矩形相同。此屬性只支持2維標注矩陣。例如:本例中的第2個子區域的最小凸多邊形圖形為。注意:此處函數roipoly很有用!

'ConvexArea'

是標量,填充區域凸多邊形圖像中的 on 像素個數。

'EulerNumber'

是標量,幾何拓撲中的一個拓撲不變量--歐拉數,等于圖像中目標個數減去這些目標中空洞的個數。此屬性只支持2維標注矩陣。本例中的歐拉數均為1。

'Extrema'

8行2列矩陣,八方向區域極值點。矩陣每行存儲這些點的xy坐標,向量格式為 [top-left top-right right-top right-bottom bottom-right bottom-left left-bottom left-top]。此屬性只支持2維標注矩陣。

'EquivDiameter'

是標量,等價直徑:與區域具有相同面積的圓的直徑。計算公式為:sqrt(4*Area/pi)。. 此屬性只支持2維標注矩陣。本例標準化后的12區域直徑向量為:

[2.227,3.5182,4.7423,2.1339,1.3077,1.4694,0.73105,0.73105,5.2473,3.9612,2.477,1.3871]/100.

'Solidity'

是標量,同時在區域和其最小凸多邊形中的像素比例。計算公式為:Area/ConvexArea,這也是個仿射特征,實際上反映出區域的固靠性程度。此屬性只支持2維標注矩陣。本例12區域凸元素比例向量為:

[0.97071,0.66171,0.90846,0.86585,0.84211,0.94393,1,1,0.9096,0.75514,0.90823,0.94737].

'Extent'

是標量,同時在區域和其最小邊界矩形中的像素比例。計算公式為:Area除以邊界矩形面積,這也是個仿射特征,實際上反映出區域的擴展范圍程度。此屬性只支持2維標注矩陣。不再給出計算結果!!

'PixelIdxList'

p元向量,存儲區域像素的索引下標。

'PixelList'

p行ndims(L)列矩陣,存儲上述索引對應的像素坐標。

支持類

輸入的標注矩陣L可以有任意的數值類型。

提醒

使用逗號分割列表語法

當你基于regionprops函數的輸出作算法設計時,使用逗號分割列表語法就凸顯出其非常的價值。例如:對于一個存儲標量的屬性,可以利用此語法創建一個包含圖像中不同區域內此屬性值的向量。例如以下兩句是等價的:

stats(1).Area, stats(2).Area, ..., stats(end).Area

stats.Area

因此,可以使用下面的方法創建相應的向量:

regionprops(L,'Area'); allArea = [stats.Area];

allArea 就是一個與結構數組 stats 具備相同長度的向量。

基于特定原則的區域選擇

當你要基于特定準則條件選擇某個區域時,將函數 ismember 和 regionprops 聯合使用是很有用處的。例如:創建一個只包含面積大于80的二值圖像,用以下命令

idx = find([stats.Area] > 80); BW2 = ismember(L,idx);

計算性能考慮

大多數的屬性測量計算時間都非常地少,除了那些非常依賴于圖像L中區域個數和像素個數的屬性。例如:

'ConvexHull' 'ConvexImage' 'ConvexArea' 'FilledImage'

另外建議一次性計算所有屬性值,因為分開計算和一起計算時間相差無幾!

使用二值圖像工作

在調用regionprops之前必須將二值圖像轉變為標注矩陣。兩個函數可以做到:

L = bwlabel(BW); L = double(BW);

注意:雖然這兩個函數從同一二值圖像產生不同的標注矩陣,但是它們是等效的!例如:給出如下的二值矩陣BW,

1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1

bwlabel 創建一個包含兩個分別由整數1和2標注的連續區域標注矩陣

mylabel = bwlabel(BW) mylabel = 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 2 0 0 0 0 2 2

double 創建一個包含一個由整數1標注的不連續區域標注矩陣。

mylabel2 = double(BW) mylabel2 = 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1

regionprops 并不負責自動轉換二值圖像數據類型,而是由你自己決定使用何種數據轉換方法來存儲自己想要的數據。

regionprops函數的擴展思路

在regionprops函數的基礎上,你可以使用它提供的基本數據來擴展它的功能,將區域的曲率數據和骨架數據作為它的另外屬性值來開發,從而希望它能用來做更細致的特征提取。

總結

以上是生活随笔為你收集整理的matlab axis 用法,MATLAB中regionprops的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。