我已经骨架化了二进制图像和连接信息。我想以连接点为中心画圆,并想找到圆和二值图像的交点。我写了以下代码:
BW = imread('circles.png');
imshow(BW);
BW2 = bwmorph(BW,'remove');
figure, imshow(BW2)
BW3 = bwmorph(BW,'skel',Inf);
figure, imshow(BW3)
BW3t = bwmorph(BW3,'thin');
figure, imshow(BW3t)
[rj, cj, re, ce] = findendsjunctions(BW3t, 1);
hold on
plot(cj(1),rj(1),'ob')
hold on
circle([cj(1),rj(1)],4,50,':r');
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。circle.m 可以从这里下载:http: //www.mathworks.co.uk/matlabcentral/fileexchange/2876-draw-a-circle/content/circle.m
我想知道圆圈是否与它周围的 2、3 或 4 条血管相交(在图像中标记为星形)。即使圆形横穿单个血管多次,但输出应该是每个血管的一个交点。
请建议我如何找到圆形和二元血管的交集。
谢谢