バイナリ イメージとジャンクション情報をスケルトン化しました。交点を中心に円を描き、円と二値画像の交点を求めたい。私は次のコードを書きました:
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 つの船と交差しているかどうかを調べたい (画像で星としてマークされている)。1 つの容器を何度も横断する場合でも、出力は容器ごとに 1 つの交点にする必要があります。
サークルとバイナリ容器の交点を見つける方法を教えてください。
ありがとう