将PIL numpy 3d数组转换为2d luma值

时间:2018-11-18 18:10:07

标签: python numpy python-imaging-library

我已使用以下图片加载图片:

import numpy as np
from PIL import Image
imag = Image.open("image.png")    
I = np.asarray(imag)

I的形状为(951, 1200, 3)

但是我想将每个像素大致平均为亮度值((r*g*b)/3),以形成形状(951, 1200, 1)

执行此操作的正确的numpy运算符是什么?

1 个答案:

答案 0 :(得分:0)

我认为最简单的方法是使用Pillow的内置转换为Luminance,如下所示:

import numpy as np
from PIL import Image

# Load image and convert to luminance, and thence to Numpy array
imag = Image.open("image.png").convert('L')    
I = np.asarray(imag)