how to detect red color

hi, i want to ask how to detect red color for the circlar shape(blue color) in this image. can someone tell me the step? thanks. how to separate the color band? i dont underrstand how to declare the arrays?
http://www.flickr.com/photos/77154085@N06/?saved=1 I want to know how to get the shape circle with white color and the background is in black color. it means the arrow in the circle will be black color but the circle will be white color. the other background is black.how to do blue segmentation to get threshold image?i mean color threshold. can u tell me the step. i need it absolutely. plz help me!

 采纳的回答

A = imread('http://farm8.staticflickr.com/7192/6915806857_cfb9d98996_m.jpg');
imshow(A,[])
B= A(:,:,3); % your blue band!
you can do morphological operation to get the circle !

3 个评论

no..i mean how to detect the only circle shape of binary in white color but the background is in black color
use regionprops with eccentricity property.
circles have close to 0 eccentricity
can u show the code as im a newbie in matlab:(. do i need to separate the color band using looping?

请先登录,再进行评论。

更多回答(4 个)

Image Analyst
Image Analyst 2012-2-21

1 个投票

Looks like you already marked the situation as solved. If you have any additional questions, other than this, just ask again.

9 个评论

hi,sir cud u pls explain how to set the array to detect the circle?im totally new in matlab.thx
I think I did that in my color segmentation demos. Did you try to run or adapt any of them? They will give you a much, much more thorough explanation than I can give here. I can tell you that you basically have to do color segmentation to get the blue, then you'll have a binary image. Then you might need to filter out small blue things and keep just the largest.
sir, i been tried the demos. but it seems tough for a beginner like me. cud u explain how to filter out the blue pixels?how to check it using matlab?
But it looks like you already marked this as solved by Sukuchha. Can you tell my why running the delta E program didn't work for you? Are you sure you drew somewhere in the blue area? It should work.
actually i didnt understand the code by image analysist.it looks complicated for a newbie like me.cud u explain me the step. i dont know to arrange the array/pixel for blue area so that I can threshold that area
A=imread('circleroad.jpg');
l=size(A);
for i=1:l(1)
for j=1:l(2)
for k=1:3
if (A(i,j,k) > 50)
A(i,j,k) = 0;
else
A(i,j,k) = 255;
end
end
end
end
image(A);
Shorter: A = 255 * (A > 50)
i just want to detect the shape only in white color . the background will be white.thats all.which part shud I re-edit
That code you posted is, well, let's say naive and not very robust or flexible, at best. Rose, you don't need to understand the code just to run it. Once you see that it works, you can take it line by line. It's not that hard. I just explained it to a chemist a half hour ago and she totally got it. A smart engineer like you should have no problem with well commented demo code like I always write.

请先登录,再进行评论。

Tulips
Tulips 2012-2-21

0 个投票

im sorry abt the question i have asked. i am asked to detect the blue color. i mean the circle shape.

2 个评论

You can edit the question. This is much better than appending an "answer", which is no answer.
Simon do have any idea?

请先登录,再进行评论。

Image Analyst
Image Analyst 2012-2-25

0 个投票

Rose, let me ask you again to run my delta E app on your image. I just did right now and it did a nearly perfect job of getting the blue sign. You just need to do a hole fill to fill in some of the little white glints and tears on the sign. Why are you being so reluctant to run it? It's very simple. It just asks you to open your image and draw some part of the image that has the color you want to find. It doesn't even have to be all of the color, just some of the pixels with that color. Then it asks you for a number to say how close to that color do you want to find. It even suggests a good tolerance number for you. Then it finds them all. It can't get much easier. I don't know what else to suggest when something like I've already provided works so perfectly, unlike the other answer you accepted. Again, try it and you'll see.

5 个评论

sir, thx, i already been find the answer. however, instead of RGB color, can I know how to detect the yellow band color. as far as i am corcerned, the RGB band color can be used to separate the respectively red, green, blue of threshold segmentation color. i just want to know how to separate the yellow band color. is there any idea. thank you!!
Same answer. Please reread it. My delta E app can detect any color, yellow, purple, orange, chartreuse, Singapore sunset saffron, blanched almond, papaya whip, whatever. http://www.w3.org/TR/css3-color/#svg-color
thank you sir, u really help. need to study the algortihm more. and i want to know, to detect either red , blue or yellow color , the threshold range for hue, saturation and value must be set after we did RGB2HSV conversion. in ur code that u hv showed u just only did yellow color detection. so i want to know what is the range of hue,saturate and value of threshold in order to detect either red or blue. is it same with ur coding or not?
i simply didnot understand the deltaE app coding to detect blue color? can u help by giving me explanation?
based on delta E app. it need Lab . instead of using Lab channel color, can i rgb2hsv conversion to detect blue or red color? im sorry if i have asked u multiple question:(

请先登录,再进行评论。

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by