如何使用Matlab计算骨架图像中的分支长度

时间:2013-01-16 17:05:06

标签: matlab image-processing mathematical-morphology

我是Matlab的新手。我正在对骨架图像进行图像处理。我正在使用Matlab中的bworph函数检测分支点和端点。现在我想计算骨架图像中每个分支的长度。 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),'*');

1 个答案:

答案 0 :(得分:3)

如果取出分支点 - 分支将成为不同的连接组件。他们可以应用regionprops来获得所需的属性

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