使用编程查找每个像素的坐标

时间:2012-07-26 05:58:54

标签: matlab opencv

使用编程(openCV或MATLAB)在下面的图像中查找内圆(或外圆)的每个像素坐标的方法是什么?
imtool提供此信息,但它是鼠标驱动的。

enter image description here

更新

我使用imtool检测这些位置,将鼠标光标放在圆圈上的每个点上并手动注意该值。但是如何使用手动编程来实现它我不能在圆圈上做这么多品脱。

3 个答案:

答案 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