3

numpy 中是否有任何索引简写来获取图像(或任何 ND 数组)的中心像素?

例子:

cutout = xc[xc.shape[0]/2-30:xc.shape[0]/2+30,xc.shape[1]/2-30:xc.shape[1]/2+30]

我可以定义一个函数

def get_center_pixels(arr, npix):
    slices = [slice(shape/2-npix,shape/2+npix) for shape in arr.shape]
    return arr[slices]

cutout = get_center_pixels(xc,30)

有没有更好的方法或内置的方法来做到这一点?

4

1 回答 1

2

我能想到的 numpy 中最接近的标准函数是numpy.fft.fftshift,它沿着选定的轴滚动数据,因此中心点现在位于 [0,0]。

于 2012-12-10T17:26:31.023 回答