Need some help regarding color detection and it's position
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
i Venky
el 13 de En. de 2012
I want to detect the color and it's position in an image. I don't get the output. I would be really happy if you could guide me.
Example: Take a red box in a white background at some position. I want to detect the red color and it's position (i.e. co-ordinates) in the image.
Thanks in advance.
1 comentario
Respuesta aceptada
Chandra Kurniawan
el 14 de En. de 2012
Hi, i Venky
This picture below is test image :
Here the code :
Irgb = imread('multiplecolors.jpg');
Ihsv = rgb2hsv(Irgb);
low = 0;
high = 0.04;
h = (Ihsv(:,:,1) >= low) & (Ihsv(:,:,1) <= high);
s = (Ihsv(:,:,2) >= 0.9) & (Ihsv(:,:,2) <= 1);
v = (Ihsv(:,:,3) >= 0) & (Ihsv(:,:,3) <= 1);
mask = uint8(h & s & v);
mask = imclose(mask, strel('disk', 5));
mR = mask .* Irgb(:,:,1);
mG = mask .* Irgb(:,:,2);
mB = mask .* Irgb(:,:,3);
Icolor = cat(3, mR, mG, mB);
Igray = rgb2gray(Icolor);
Ibw = im2bw(Igray,graythresh(Igray));
Ilabel = bwlabel(Ibw);
stat = regionprops(Ilabel,'boundingbox','centroid');
imshow(Irgb); hold on;
for x = 1 : length(stat)
bb = stat(x).BoundingBox;
xc = stat(x).Centroid(1);
yc = stat(x).Centroid(2);
txt = sprintf('x : %.2f\ny : %.2f',xc,yc);
rectangle('position',bb,'edgecolor','b','linewidth',2);
plot(xc,yc,'bo');
text(xc,yc+30,txt,'color','y','fontweight','normal');
end
And the result shown below :
The pink colored object is not detected anymore.
It is so simple like I said. Just adjusting the values of hue, saturation, intensity.
9 comentarios
jyothi
el 14 de Mayo de 2014
hey thank u very much then what are the values for other different colors
Image Analyst
el 14 de Mayo de 2014
Extract them, then enter in a location and find out:
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
Más respuestas (1)
Walter Roberson
el 13 de En. de 2012
You have already been guided in your previous copy of this question.
In order to be guided further, you need to answer the question there as to how exactly you define each color.
0 comentarios
Ver también
Categorías
Más información sobre Image Processing Toolbox en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!