processing image from webcam
조회 수: 3 (최근 30일)
이전 댓글 표시
Hi, I have something to ask you.I have an image with a large rectangle and inside that rectangle there are a red circle and a green circle. And I want to locate the center of red circle with the origin-coordinate is one of the corners of rectangle. Everything has been finished with an image I draw in power point. But when I draw that image on a real paper and using a webcam to capture that image, I can't do the same things as I do with ppt image. When I convert the real image to binary, the rectangle, in some parts, is not separated with background and some areas of background don't have the same color (black or white) with others. I try to reduce threshold but it is still bad. I just want to separate the rectangle with background to "label" it and then I do anything I do with ppt image.
Here are image links
And I want to change it like this:
Can you tell me how can I do that. Sorry because my bad english.
댓글 수: 0
답변 (1개)
Saneem Ahmed
2011년 4월 30일
I think you have applied im2bw() function on YOUR image. Try segmenting the image. it might give good results.
Other options will be converting image into other color spaces like HSV , LAB etc. If you are taking an HSV image, red and green pixel hue values will be different from blue, so keep some threshold or range to get those pixels.you can also remove light colored image parts using saturation.
use rgb2hsv() for conversion.
pic=imread('image.jpg');
hsv=rgb2hsv(pic);
bw=find(hsv<0.2 || hsv>0.8);
i haven't run the code .. but it might work...
댓글 수: 1
Walter Roberson
2011년 4월 30일
You would have to use | instead of || because || can only be used with scalars.
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!