color2gray 的实现

无论是 rgb 还是 yuv 等三通道的颜色空间中的像素点,将其转换为单通道(pixel_depth=255.)中的像素,一般情况下都是采用的对原始颜色空间的 3 通道的像素点线性组合而得到单通道的像素点的方式,

def img2gray(images):
    images = images.astype(float)
    return np.dot(images, [[0.2989],[0.5870],[0.1140]])

train_data_gray = img2gray(train_data)[:, :, :, 0]
    # train_data, axis 0: 图像样本的数目,axis 1/2:图像的宽和高,axis 3: 单幅图像的颜色通道数    

[[0.2989],[0.5870],[0.1140]]这一比例系数,从文献 Decolorize: fast, contrast enhancing, color to grayscale conversion 中得到;

原文地址:https://www.cnblogs.com/mtcnn/p/9421887.html