如何使用颜色维度将RGB转换为灰度

2024-05-11 03:22:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我想把我的RGB图像转换成灰度图像,不使用转换函数,而是使用红、绿、蓝值。例如,如果我的图像是完全蓝色的,如果我得到它的蓝色分量,它将被转换为白色;如果我得到我的RGB图像的红色分量,它将被转换为黑色。它将通过OpenCV在Python中完成。在

提前谢谢。在


Tags: 函数图像rgbopencv灰度分量蓝色黑色
1条回答
网友
1楼 · 发布于 2024-05-11 03:22:32

你所指的转换函数也是这样做的——它加权每个像素的R、G和B通道值,然后取和。因为OpenCV在读取图像时使用BGR颜色空间,所以您的转换函数如下-

def rgbToGray(img):
    grayImg = 0.0722*img(:,:,1) + 0.7152*img(:,:,2) + 0.2126*img(:,:,3)
    return grayImg

这里提到的比重来自于ITU-rbt.709标准,用于HDTV,由ATSC开发(https://en.wikipedia.org/wiki/Grayscale

相关问题 更多 >