How to Extract a certain Shape from Image
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/151121/image.png)
1 Commento
Rakshit Kothari
il 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.
Risposte (2)
Walter Roberson
il 18 Feb 2013
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 Commenti
Rakshit Kothari
il 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.
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 Commento
Darshan Drviruz
il 21 Ott 2017
Would you please explain this by using code? i couldn't understand well
Vedere anche
Categorie
Scopri di più su Image Segmentation and Analysis in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!