我在形状为 (1027, 888, 3) 的 ndarray 中导入了一个图像。
我的任务是创建一个方法,该方法返回从图像中选择一个图块的 2 个一维索引数组。
ii, jj = tile_cordinates(i,j, tile_size)
imshow(image[ii,jj])
我想模拟与使用此代码相同的结果:
imshow(image[1:32, 2:32])
我试图这样做:
def tile_coordinates(i, j, tile_size):
return range(i, i + tile_size), range(j, j + tile_size)
ii, jj = tile_coordinates(1,2,32)
imshow(image[ii,jj])
但是图像不对。实际上,使用两个数组索引图像的结果返回形式是 (32, 3)
image[1:32, 2:32].shape
返回 (31, 30, 3)
那么如何通过 tile_coordinates 方法形成返回的数组来模拟与切片示例相同的结果呢?甚至可能吗?
PS:规格是从家庭作业中设定的。我已经花了几个小时查看文档和其他索引示例,但没有找到任何可以满足我要求的东西。所以我很困惑。任何指导将不胜感激:)
谢谢!