从二进制图像MATLAB中删除连接点

时间:2013-05-24 14:10:21

标签: matlab image-processing

enter image description here

我对分割后的图像进行了细化,发现在图像中标记为绿点的连接点(右图)然后我从图像中删除连接像素以断开每个血管段但是另外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.mhttp://www.csse.uwa.edu.au/~pk/research/matlabfns/Misc/show.m分别

如果有人提出一些解决方案,这将是很好的

由于

1 个答案:

答案 0 :(得分:0)

Haven花了很长时间阅读它,但你通过计算交叉点找到交叉点和终点的方法似乎有缺陷。只计算一个像素的白色邻居会更容易。如果计数大于3,它就是一个交汇点。如果计数为1,那么它就是一个终点。