我在 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
是矩阵中的行。我想知道我是否正确设置了矩阵。
谢谢
最佳答案
尝试去做
pic_mat = np.array(imo.convert('L'))
您还可以通过像这样分割大小元组来避免执行诸如 shape=(dim[0] , dim[1])
之类的事情 shape=dim[:2]
(:2
在这种情况下甚至是多余的,但我喜欢小心......)
关于PIL中的python图像大小函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19306191/