首页 > 解决方案 > 从以位置 (x,y) 为中心的输入图像中提取 3×3 图像片段

问题描述

我想问如何从以位置(x,y)为中心的输入图像中提取an×n图像片段,图像的格式如下[[num,num,num],[num,numm,num], [num,num,num]........],图片大小约为 10 * 10。谢谢!

标签: image-extraction

解决方案


我确实建议在使用多维数组/想要操作这些数组时使用 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)

推荐阅读