*No products are associated with this question.*

Answer by Jan Simon
on 23 Feb 2012

You find a lot of color detection questions in this forum. Please take the time to read, how to detect red and yellow colors, and make a transfer to brown and white.

Show 2 older comments

FIR
on 23 Feb 2012

JAn the code fro yellow is

data=imread('myimage.jpg')

diff_im = imsubtract(data(:,:,1), rgb2gray(data));

%Use a median filter to filter out noise

diff_im = medfilt2(diff_im, [3 3]);

% Convert the resulting grayscale image into a binary image.

diff_im = im2bw(diff_im,0.18);

% Remove all those pixels less than 300px

diff_im = bwareaopen(diff_im,300);

% Label all the connected components in the image.

bw = bwlabel(diff_im, 8);

% Here we do the image blob analysis.

% We get a set of properties for each labeled region.

stats = regionprops(bw, 'BoundingBox', 'Centroid');

% Display the image

imshow(data)

hold on

%This is a loop to bound the red objects in a rectangular box.

for object = 1:length(stats)

bb = stats(object).BoundingBox;

bc = stats(object).Centroid;

rectangle('Position',bb,'EdgeColor','g','LineWidth',2)

plot(bc(1),bc(2), '-m+')

a=text(bc(1)+15,bc(2), strcat('X: ', num2str(round(bc(1))), '

G: ', num2str(round(bc(2)))));

set(a, 'FontName', 'Arial', 'FontWeight', 'bold', 'FontSize', 12, 'Color', 'green');

end

hold off,please tell in which line have to change for brown and white

Answer by Image Analyst
on 23 Feb 2012

See my color detection examples:

http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862

I detect colors in three different ways.

Image Analyst
on 25 Feb 2012

Opportunities for recent engineering grads.

## 0 Comments