python函数计算图像中每个点到图像中心的欧几里德距离

python函数计算图像中每个点到图像中心的欧几里德距离,python,numpy,Python,Numpy,我正试图用python编写一个函数,为宽度为w、高度为h的图像返回一个形状为(h,w)的数组,其中索引(I,j)处的数字给出从点(I,j)到图像中心的欧几里德距离。代码是: 在上述函数中,调用另一个函数“center”,该函数返回图像中心的坐标对。为了更清楚,我在这里发布了功能“中心”: 我的函数“径向距离”给出的误差为: 也就是说,如果输入图像有形状(3,3,3),径向距离应该返回一个2D形状数组,比如(3,3)。有人可以帮我指引正确的方向,节省我的时间 “图像”的形状是什么?如果

我正试图用python编写一个函数,为宽度为w、高度为h的图像返回一个形状为(h,w)的数组,其中索引(I,j)处的数字给出从点(I,j)到图像中心的欧几里德距离。代码是:



在上述函数中,调用另一个函数“center”,该函数返回图像中心的坐标对。为了更清楚,我在这里发布了功能“中心”:



我的函数“径向距离”给出的误差为:




也就是说,如果输入图像有形状(3,3,3),径向距离应该返回一个2D形状数组,比如(3,3)。有人可以帮我指引正确的方向,节省我的时间

“图像”的形状是什么?如果它是二维的,它的元素是整数还是数组?图像是三维的,它的元素是浮动的!该函数应获取3D数组并返回2D数组。
def radial_distance(image):
    h, w = image.shape[:2]
    x, y = center(image)
    for i in range(h):
        for j in range(w):
            image[i,j,:] = np.sqrt((x-i)**2 + (y-j)**2)
    return image
def center(a):
x, y = a.shape[:2]
return ((x-1)/2,(y-1)/2)
radial_distance returned array of wrong shape for input array of shape (3, 3, 3)!