Need some help regarding color detection and it's position
    10 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
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.
Risposta accettata
  Chandra Kurniawan
      
 il 14 Gen 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 Commenti
  Image Analyst
      
      
 il 14 Mag 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);
Più risposte (1)
  Walter Roberson
      
      
 il 13 Gen 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 Commenti
Vedere anche
Categorie
				Scopri di più su Graphics Performance in Help Center e File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




