前提・実現したいこと
イメージをエッジ検出した後、そのエッジの座標を使いたいと思っています。試したことに書いてあるプログラムを使用していますが、これは自分で座標を取る必要がありエッジの座標を全て検出できるプログラムを作りたいです。最終的にfit_circle(X,Y)このX、Yにその検出した座標を入れられたらと思っております。
該当のソースコード
MATLAB
試したこと
figure; imshow(bw1);
BW1 = edge(bw1,'Canny',0.6);
figure; imshow(BW1);
BWdfill = imfill(BW1,'holes');
imshow(BWdfill)
title('Binary Image with Filled Holes');
BWnobord = imclearborder(BWdfill,4);
imshow(BWnobord)
title('Cleared Border Image');
seD = strel('diamond',1);
BWfinal = imerode(BWnobord,seD);
BWfinal = imerode(BWfinal,seD);
[B,L] = bwboundaries(BWfinal,'noholes');
imshow(label2rgb(L,@jet,[.5 .5 .5]))
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2),boundary(:,1),'w','LineWidth',2)
end
現在、下記サイトを真似て作ったプログラムを使用しています。ただこれだと自分で座標の位置を取る必要がある、座標を直接プログラムに入れられないといった問題があります。
https://jp.mathworks.com/help/images/identifying-round-objects.html
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/23 02:19