Problem on detect ellipse in the image with many shapes inside
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Chanoknunt Sangsobhon
am 31 Okt. 2022
Kommentiert: Chanoknunt Sangsobhon
am 1 Nov. 2022
Excuse me again. I have adapted the code from Shape Recognition because I also want to detect the ellipse shape
But the result is not satisfied since the program can detect ellipse but it also detected other shape as ellipse and stop detecting rectangle and square. I write new condition based on bounding box and extent. So I want to know why the program detect other shape as ellipse and how to fix that. Is there any condition of ellipse that I missed?
Thank you in advanced
imshow(RGB),
title('Results');
hold on
for i = 1 : length(STATS)
W(i) = uint8(abs(STATS(i).BoundingBox(3)-STATS(i).BoundingBox(4)) < 0.1); %%If width and height of bounding box are equal, W(i)=1, otherwise W(i)=0
W(i) = W(i) + 2 * uint8((STATS(i).Extent - 1) == 0 ); % Extent =1 case; If circle/ellipse, back term=0, rec/sqr back term =2
W(i) = W(i) + 4 * uint8((STATS(i).Extent - 1) <= 0.7854); %Extent = pi/4 case ellipse/circle
centroid = STATS(i).Centroid;
switch W(i)
case 5
plot(centroid(1),centroid(2),'wO');
case 2
plot(centroid(1),centroid(2),'wX');
case 3
plot(centroid(1),centroid(2),'wS');
case 4
plot(centroid(1),centroid(2),'w+');
end
end
0 Kommentare
Akzeptierte Antwort
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Image Segmentation and Analysis finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!