6

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

在此处输入图像描述

更新

我使用 imtool 来检测这些位置,方法是将鼠标光标放在圆圈上的每个点上并手动记录该值。但是我如何使用手动编程来做到这一点,我不能在圈子上这么多品脱。

4

3 回答 3

5

在 Matlab 中,你可以这样做:

im = imread('im.png');      %# load image
[y,x] = find(all(im<5, 3)); %# find black pixels
position = [x,y];           %# display them
于 2012-07-26T08:17:10.350 回答
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

于 2012-07-26T06:01:24.973 回答
-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您可以从&获取坐标值new_y

于 2014-07-14T06:04:31.797 回答