how to identify a color from an image

the color component should be the output eg-if the color of the image is green i need the output green. if the color is burgundy red,or crimson,or any mix output should say its presence. i tried documentation on matlab but could understand like how to specifically apply specification and thresholding.

Réponses (1)

Image Analyst
Image Analyst le 13 Déc 2013

0 votes

Did you try any of my color segmentation demos yet? They're in my File Exchange: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862

4 commentaires

nida
nida le 13 Déc 2013
yes i did, but is there a another simpler way for beginners.
Image Analyst
Image Analyst le 13 Déc 2013
Modifié(e) : Image Analyst le 13 Déc 2013
Those are for beginners. If you want it simpler, just strip out the fancy stuff like where I display intermediate images, add titles and axes, mask the images, etc. If you know the thresholds in advance and don't do any displaying, then you can do the whole thing in one line:
detectedColor = rgb(:,:,1)>redThresh & rgb(:,:,2)<greenThresh & rgb(:,:,3)<blueThresh;
There - one line of code. Pretty simple. Will that work for you? My code adds all the other necessary things you'll need to do, or want to do, to make it into a full blown program, like determining what the thresholds should be, like displaying the image, like masking out non-desired colors, etc.
nida
nida le 27 Déc 2013
your hue segmentation demo was very helpful. but i would like to keep thresholds for other colors too like shades of red (dark,crimson,maroon etc), or gray or any other color. what would be there rgb ratio for that and would it be with same syntax as for yellow in your code. thank you.
Image Analyst
Image Analyst le 27 Déc 2013
It depends on the shape of your gamut in the different color spaces as to which colorspace it would be easier to segment your color. You might be able to use RGB color space, lab color space, or hsv color space. The hue is constant as the color goes from bright to dark or from vivid red to pink to crimson, so if you want all those colors in the same segmentation you could use hsv space. You could also get just dark reds if you specify that the V or L value is less than, say, 50 or whatever darkness value you want.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Images dans Centre d'aide et File Exchange

Question posée :

le 13 Déc 2013

Commenté :

le 27 Déc 2013

Community Treasure Hunt

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

Start Hunting!

Translated by