python – 逐像素读取图像(ndimage / ndarray)

我有一个存储为ndarray的图像.我想迭代这个数组中的每个像素.

我可以像这样迭代数组的每个元素:

from scipy import ndimage
import numpy as np

l = ndimage.imread('sample.gif', mode="RGB")

for x in np.nditer(l):
    print x

这给出了:

...
153
253
153
222
253
111
...

这些是像素中每种颜色的值,一个接一个.我想要的是将这些值3乘3读出来产生这样的东西:

...
(153, 253, 153)
(222, 253, 111)
...

最佳答案 可能最简单的方法是首先重塑numpy阵列,然后再进行打印.

http://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html

此外,这应该会帮助你.
Reshaping a numpy array in python

点赞