How to Extract a certain Shape from Image
Ältere Kommentare anzeigen
I would like to distinguish between "background" pixels and the "orange plastic bag" pixels in order to manipulate those pixels (count, hist, etc).
I can't use indx = I(I ~= 1) because there are some white pixel inside the orange plastic bag.
Moreover, this bag is aligned but it might be rotate in other images.
Thanks.

1 Kommentar
Rakshit Kothari
am 18 Feb. 2013
So what you basically need is some form of object recognition, am i correct? If you just need to extract the bag of chips, image segmentation using Otsu's method is probably what you need.
If you need recognition i suggest you read up on SIFT or SURF.
Antworten (2)
Walter Roberson
am 18 Feb. 2013
0 Stimmen
convert to gray, threshold to select non-white, imfill() 'holes'. The result should be a mask you can use to select from the larger image.
2 Kommentare
Max
am 18 Feb. 2013
Walter Roberson
am 18 Feb. 2013
That's why you imfill() 'holes', to recover the "inside" part.
Rakshit Kothari
am 18 Feb. 2013
0 Stimmen
So what you basically need is some form of object recognition, am i correct? If you just need to extract the bag of chips, image segmentation using Otsu's method is probably what you need.
If you need recognition i suggest you read up on SIFT or SURF.
If its a quick thing that you are looking for, just invert the image, threshold and then use REGIONPROPS with filled holes option.
If you need the shape of the object:
Ratio = Area of Object/Area under bounding box
If Ratio is a reasonably high value, you object is a square or a rectangle. If its lower, its probably a triangle or circle.
1 Kommentar
Darshan Drviruz
am 21 Okt. 2017
Would you please explain this by using code? i couldn't understand well
Kategorien
Mehr zu Recognition, Object Detection, and Semantic Segmentation finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!