spot red object in a image
Show older comments
Hello!
Can You please tell me as to how to spot red markers in an image. here is my code:
I = imread('pic', 'png'),
data = imsubtract((:,:,1) , rgb2gray(I));
I am getting an array cause image is a 2D array. How do I change this code?
1 Comment
Walter Roberson
on 13 May 2014
What were you hoping for instead of an array ?
Answers (1)
Image Analyst
on 13 May 2014
0 votes
Your first argument to imsubtract is nonsense. It's not even an image, it's just (:,:,1). I'm surprised it didn't throw an error. Even if it were an image, subtracting it from the gray scale version of the image will not be very good or robust except for high contrast images.
See my color segmentation demos: http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862

That's from the Delta E method where I found red, but you'll probably want to use the HSV method: http://www.mathworks.com/matlabcentral/fileexchange/28512-simple-color-detection-by-hue
Categories
Find more on Image Arithmetic in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!