【问题标题】:Find the pixel of center of a circle in an image查找图像中圆心的像素
【发布时间】:2020-06-25 14:48:15
【问题描述】:

大家好, 我需要在图像中找到内部小圆圈中心的坐标。 我不想使用 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)

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

【问题讨论】:

    标签: python computer-vision centroid


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 2017-10-07
      • 2015-11-16
      • 1970-01-01
      • 2016-02-17
      相关资源
      最近更新 更多