繁体   English   中英

查找图像中圆心的像素

[英]Find the pixel of center of a circle in an image

嘿伙计们,我需要在图像中找到内部小圆圈的中心坐标。 我不想使用 cv 的 Hought 方法。 每个圆的半径为 20 像素。

图像是这样的:

在此处输入图像描述

我以灰度读取图像,因为我希望 e 值在 0-255 之间标准化。

这是代码,我找不到我错的地方:

img = cv2.imread('input_image',0)#read in grayscale
lista = []
rows,cols = img.shape
for i in range(rows):
    for j in range(cols):
        k = img[i,j]
        if k == 0:
            #No circle
            continue
        else:
            #Circle
            x=i+10
            y=j
            k = img[x,y]#centro del pallino
            i+=21
            
            arr = np.array([x,y,k])
            lista.append(arr)
      
print(lista)

我想要一个 arrays 列表,其中每个 arrays 包含 x 坐标、y 坐标和像素值。 我哪里错了?

由于在 for 循环中将第一次遇到圆的最高点,因此 x 和 y 值应更新为x=iy = j+10

此外,如果有两个圆使得连接两个圆的中心的线几乎是水平的,则此逻辑将不起作用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM