使用编程(openCV或MATLAB)在下面的图像中查找内圆(或外圆)的每个像素坐标的方法是什么?
imtool提供此信息,但它是鼠标驱动的。
更新
我使用imtool检测这些位置,将鼠标光标放在圆圈上的每个点上并手动注意该值。但是如何使用手动编程来实现它我不能在圆圈上做这么多品脱。
答案 0 :(得分:5)
在Matlab中,您可以这样做:
im = imread('im.png'); %# load image
[y,x] = find(all(im<5, 3)); %# find black pixels
position = [x,y]; %# display them
答案 1 :(得分:0)
以下是使用openCV查找具有色调和饱和度过滤的对象的指南。 也许你可以使用阈值黑色吗?
http://myrobotlab.org/content/opencv-how-isolate-object-hue-saturation-and-value
这里还有一种检测圆圈的方法:
http://cgi.cse.unsw.edu.au/~cs4411/wiki/index.php?title=OpenCV_Guide
答案 2 :(得分:-1)
你可以实现这段代码......
a=rgb2gray(imread('image.tif'));
[x,y,z]=size(a);
count=0;
for i=1:x
for j=1:y
if a(i,j)==0
count=count+1;
new_x(count)=j;
new_y(count)=i;
end
end
end
您可以从new_x
&amp;获取坐标值。 new_y