MATLAB Answers


detecting colours

Asked by FIR
on 23 Feb 2012
Latest activity Edited by Anusha
on 25 Oct 2013

I want to detect both brown and whit colours,can anyone tell how to proceed plz



No products are associated with this question.

2 Answers

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.


on 23 Feb 2012

JAn an really interested in image processing thats why keep posting questions,plz can you tell for brown colour also ,it will be very useful to me ,please help

on 23 Feb 2012

JAn the code fro yellow is


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

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;


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');

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

Jan Simon
on 25 Feb 2012

In "diff_im = imsubtract(data(:,:,1), rgb2gray(data));" you subtract the grey value from the red component. Are you sure this concerns the color yellow?!

Answer by Image Analyst
on 23 Feb 2012

See my color detection examples:

I detect colors in three different ways.


on 23 Feb 2012

I mean brown color MR.Analyst

Image Analyst
on 25 Feb 2012

Yes, I read that. Both brown and whit. I know. It should be easy to modify my apps, in fact the delta E app will work right out of the box. So how did it go? Do you have it working yet? By the way your code in your comment to Jan has nothing whatsoever to do with color segmentation, your comments notwithstanding. It just doesn't - I don't know why you think it should.

Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi test

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!