【发布时间】:2020-02-10 11:19:03
【问题描述】:
您好,我在一个文件夹中有多个图像,我正在遍历它们并将它们转换为 20x20 块。对于图像中的每个块,我正在计算平均值,并且这是针对每个图像完成的。我想要列表形式的结果,这意味着如果我有 6 个图像,则应该有 6 个列表项,并且对于每个列表项,应该有一个 20x20 数组,其中包含所有块的平均值。
img = [cv2.imread(file,0) for file in glob.glob("resized/*.jpg")]
X=[]
for im in img:
arr = np.asarray(im)
arr = np.split(arr, 20)
arr = np.array([np.split(x, 20, 1) for x in arr])
mat = [arr[i][j].mean() for i in range(20) for j in range(20)]
X.append(mat)
这是所需的输出。
[[0,0.1,....,],[0,0.1,....,],[0,0.1,....,],[0,0.1,....,],[0,0.1,....,],[0,0.1,....,]]. Each item should be 400 values.
但现在我只得到 400 个值。
[[0.0,
0.0,
0.0,
0.0,
0.0,
....
3.99,
2.16,
12.23,
0.0,
0.0,
5.07,
7.65,
....
0.0,
0.0,
0.0]]
【问题讨论】:
标签: python arrays numpy opencv image-processing