2

我有两个骨架图像,我在其中提取了分支点。不幸的是,分支点似乎不正确。有人对如何提取有效分支点(即“y”状形状点)有建议吗?

reg1 = imread('region1.tif');
[i,j] = ind2sub(size(reg1), find(bwmorph(reg1,'branchpoint') == 1)); 
h=figure; imshow(reg1); hold on; plot(j,i,'rx');print(h,'reg1overlay','-dtiff');

在下面的第一个示例中,应该只有一个分支点:

区域 1 原始图像 区域 1 叠加

reg2 = imread('region2.tif');
[i,j] = ind2sub(size(reg2), find(bwmorph(reg2,'branchpoint') == 1)); 
h=figure; imshow(reg2); hold on; plot(j,i,'rx');print(h,'reg2overlay','-dtiff');

在下面的第二个示例中,应该只有没有分支点:

区域 2 原始图像 区域 2 覆盖

4

1 回答 1

0

尝试:

branchskel = bwmorph(BW,'skel',Inf); %BW is your binarized image
branchskel = bwmorph(branchskel,'thin'); %this should remove those pixel piles that are giving you problems
B = bwmorph(branchskel, 'branchpoints');
[yb,xb] = find(B);
于 2017-07-07T09:16:10.983 回答