How can I define red color in HSV space

I have problem when using webcam to detect and track object by masking colors in HSV space. my code work well with yellow, green or blue color but red color.
I already define the threshold for these colors
please help me.
here is my code
% red
hueThresholdLowred1 = 0.05; hueThresholdHighred1 = 0.97;
saturationThresholdLowbred1 = 0.3; saturationThresholdHighred1 = 1;
valueThresholdLowred1 = 0.01; valueThresholdHighred1 = 1;
% find red color
hueMaskred1 = (hImage1 <= hueThresholdLowred1)&(hImage1 >= hueThresholdHighred1);
saturationMaskred1 = (sImage1 >= saturationThresholdLowbred1) & (sImage1 <= saturationThresholdHighred1);
valueMaskred1 = (vImage1 >= valueThresholdLowred1) & (vImage1 <= valueThresholdHighred1);
redObjectsMask1 = hueMaskred1 & saturationMaskred1 & valueMaskred1;

 Accepted Answer

It is not possible for a number to be both less than 0.05 and greater than 0.97. Your statement
hueMaskred1 = (hImage1 <= hueThresholdLowred1)&(hImage1 >= hueThresholdHighred1);
is wrong (at least in terms of the values you set for those thresholds.)
Are you looking for values that are between 0.97 and 1, together with values that are between 0 and 0.05 ? Sounds like a narrow range to me, but if it is what you are looking for, change the "&" to "|"

3 Comments

thanks for your help, I already changed as follow your advice. finally it work.
how define green object on live webcam ? please code..
See several color segmentation demos in my File Exchange: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862 Feel free to modify any of them.

Sign in to comment.

More Answers (0)

Categories

Products

Community Treasure Hunt

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

Start Hunting!