我对分割后的图像进行了细化,发现在图像中标记为绿点的连接点(右图)然后我从图像中删除连接像素以断开每个血管段但是另外2个像素,在右图中标记为箭头,这是不是删除了结点像素。我写了以下代码:
test3 = bwmorph(BinaryImage,'thin',Inf);
[rj3, cj3, re3, ce3] = findendsjunctions(test3, 1);
temp_withoutjun=test3;
temp_withoutjun(rj3, cj3)=0;
figure, imshow(temp_withoutjun)
hold on
plot(cj3, rj3,'*g')
我不明白为什么要删除2个额外的像素。 findendsjunctions.m和依赖文件show.m可以从这里下载:http://www.csse.uwa.edu.au/~pk/research/matlabfns/LineSegments/findendsjunctions.m和http://www.csse.uwa.edu.au/~pk/research/matlabfns/Misc/show.m分别
如果有人提出一些解决方案,这将是很好的
由于
答案 0 :(得分:0)
Haven花了很长时间阅读它,但你通过计算交叉点找到交叉点和终点的方法似乎有缺陷。只计算一个像素的白色邻居会更容易。如果计数大于3,它就是一个交汇点。如果计数为1,那么它就是一个终点。