2013-01-16 97 views
2

我是Matlab新手。我正在對骨架圖像進行圖像處理。我在Matlab中使用bworph函數檢測分支點和端點。現在我想計算骨架圖像中每個分支的長度。 Matlab中有哪些不同的選項以及如何計算圖像長度?如何使用Matlab計算骨架圖像中的分支長度

以下是我用來查找分支點和端點的代碼。現在我想去圖像中的每個分支並確定它的長度。

mn=bwmorph(y,'branchpoints'); 
[row column] = find(mn); 
branchPts = [row column]; 
endImg = bwmorph(y, 'endpoints'); 
[row column] = find(endImg); 
endPts  = [row column]; 
figure;imshow(y); 
hold on ; 
plot(branchPts(:,2),branchPts(:,1),'rx'); 
hold on; plot(endPts(:,2),endPts(:,1),'*'); 
+0

查看此博客:http://blogs.mathworks.com/steve/這是非常豐富,我相信它涵蓋了一個類似的問題在幾個月/年前 – slayton

回答

3

如果取出分支點 - 分支變成不同的連接組件。他們可以申請regionprops以獲得所需的性能

branches = y & ~mn; % set branch points to zero 
branchesLabeled = bwlabel(branches, 4); % label connected components 
sts = regionprops(branchesLabeled, 'Area', 'Perimeter'); % extract properties