我想问如何从以位置(x,y)为中心的输入图像中提取an×n图像片段,图像的格式如下[[num,num,num],[num,numm,num], [num,num,num]........],图片大小约为 10 * 10。谢谢!
问问题
19 次
2 回答
0
我确实建议在使用多维数组/想要操作这些数组时使用 numpy,但是在这里,一个 numpy 解决方案和一个没有 numpy 的解决方案。
import numpy as np
img = np.array([[1,2,3,4,5],[2,3,4,5,6],[3,4,5,6,7],[4,5,6,7,8],[5,6,7,8,9]])
print('img:\n',img,'\n')
partOfImage = img[0:3,0:3]
print('partOfImage:\n',partOfImage)
img = [[1,2,3,4,5],[2,3,4,5,6],[3,4,5,6,7],[4,5,6,7,8],[5,6,7,8,9]]
noNumpy =[[img[i][j] for j in range(0,3)] for i in range(0,3)]
print(noNumpy)
于 2021-03-12T20:31:59.860 回答
0
问题。因此,您希望找到图像的中心,向左、左下、下、右下、右、右上、上和左上扩展 1 个像素以从样本中间获取图像。正确的?我没有代码示例,而是概念性注释。
固定空间图像通常从左上角 0,0 开始寻址。由于它们接近偶数像素,因此几乎不可能找到“中间”。因此,找到一个“中间像素”意味着您需要应用一个百分比并选择最接近该选项的“整个像素”。然后扩展到您的 3x3 尺寸。
于 2021-03-12T21:03:09.383 回答