detect shape in image

17 vues (au cours des 30 derniers jours)
Sahar Mahmoudi
Sahar Mahmoudi le 29 Juil 2016
Commenté : Sahar Mahmoudi le 29 Juil 2016
How can I detect shape(circle,square,triangle) in RGB image(forexample: apple=circle, bread=square)?

Réponses (1)

Selva Karna
Selva Karna le 29 Juil 2016
RGB = imread('your image'); imshow(RGB); I = rgb2gray(RGB); threshold = graythresh(I); bw = im2bw(I,threshold); imshow(bw) % remove all object containing fewer than 30 pixels bw = bwareaopen(bw,30);
% fill a gap in the pen's cap se = strel('disk',2); bw = imclose(bw,se);
% fill any holes, so that regionprops can be used to estimate % the area enclosed by each of the boundaries bw = imfill(bw,'holes');
imshow(bw) [B,L] = bwboundaries(bw,'noholes');
% Display the label matrix and draw each boundary 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
  1 commentaire
Sahar Mahmoudi
Sahar Mahmoudi le 29 Juil 2016
I run your code but the answer in not related to the automatic shape detection.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by