2012-10-18 82 views
3

我有一個音量(3D矩陣),經歷了分割過程。大部分卷由NaN(或零)組成,除了已通過某些標準的區域(見圖片)。我需要知道每個剩餘段在體素數量上有多大,它們在二維平面上的分佈(xy,xz,yz)如何。 matlab中有什麼可以幫助我以有效的方式完成此操作而不是直接搜索?音量可能相當大。例如。在附圖中有7個體素的淡黃色/褐色的一個片段,並且比xy更垂直地延伸。 在此先感謝。 enter image description here在matlab中,找到3D鄰域

回答

4

最方便的解決方案是使用REGIONPROPS。在您的例子:

stats = regionprops(image, 'area', 'centroid') 

對於每一個功能,就有可能在結構統計與區域(即體素數)和質心的條目。

2

我認爲你在找什麼叫做bwlabeln。它允許您在3D空間中查找斑點,就像bwlabel在2D中所做的一樣。之後,您可以使用regionprops來查找數據的屬性。

直接從幫助摘自:

bwlabeln標籤在二進制圖象連接的組件。 L = bwlabel(BW)返回一個標籤矩陣L,其中包含BW中連接組件的標籤。體重可以有任何維度; L與BW的大小相同。 L的元素是大於或等於 到0的整數值。標記爲0的像素是背景。標記爲1 的像素構成一個對象,標記爲2的像素構成第二個對象,並且諸如此類。對於更高維度,默認連接的尺寸爲8,兩個尺寸爲26,三維尺寸爲 ,CONNDEF(NDIMS(BW),'最大')。

+0

在調用'regionprops'之前,不需要調用'bwlabeln'。 – Jonas

+0

@Jonas,感謝您的信息。您的回答已上傳 –

+0

謝謝你們。你爲我節省了很多時間。 – user1641496