我在python中使用PIL包,我想在将其转换为灰度后将像素导入矩阵这是我的代码
from PIL import Image
import numpy as np
imo = Image.open("/home/gauss/Pictures/images.jpg")
imo2 = imo.convert('L')
dim = imo2.size
pic_mat = np.zeros(shape=(dim[0] , dim[1]))
for i in range(dim[0]):
for j in range(dim[1]):
pic_mat[i][j] = imo2.getpixel((i,j))
我的问题是关于尺寸功能。它通常返回一个元组(a,b)
,其中a
是图片的宽度,b
是图片的长度,但这并不意味着a
是矩阵中的列,b
是矩阵中的行。我想知道我是否正确设置了矩阵。
谢谢
答案 0 :(得分:2)
尝试做
pic_mat = np.array(imo.convert('L'))
你也可以通过像shape=(dim[0] , dim[1])
这样切换大小元组来避免像shape=dim[:2]
这样的事情(:2
在这种情况下甚至是多余的但是我要小心......)