I don't know why this code incorrect. ( I want detect circle using canny method.)
情報
この質問は閉じられています。 編集または回答するには再度開いてください。
古いコメントを表示

image = imread('example5.png');
image = edge(imgaussfilt(rgb2gray(image), 2), 'canny');
[x y] = find(image == 1);
pindex = cat(2, y, x);
hough_matrix = zeros(1000, 1000);
rad = [51 55 56 64 66 69 72 75]
pindex = pindex + 245;
for k = 1:3
for p=1:size(pindex, 1)
center = pindex(p, :);
for i = center(1)-rad(k):center(1)+rad(k)
x = i - center(1);
for j = center(2)-rad(k):center(2)+rad(k)
y = j - center(2);
if round(sqrt(x*x + y*y)) == rad(k)
hough_matrix(j, i) = hough_matrix(j, i) + 1;
end
end
end
end
end
[x y] = find(hough_matrix == max(hough_matrix, [], 'all'));
center = cat(2, y, x);
center = center - 245;
figure; imshow(image);
viscircles(center, rad);
2 件のコメント
KALYAN ACHARJYA
2019 年 12 月 5 日
Is this valid option here?
max(hough_matrix, [], 'all'));
SUNGDEOK KIM
2019 年 12 月 5 日
回答 (1 件)
この質問は閉じられています。
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!