RGB和灰度图的转换

一丶RGB和灰度图的转换

介绍

RGB图:一幅完整的RGB图是由红色、绿色、蓝色三个通道组成的。 RBG调色器大家玩玩下面这张图来自知乎
在这里插入图片描述
灰度图:这类图像通常显示为从最暗黑色到最亮的白色的灰度用不同的灰度色阶来表示" 红,绿,蓝"在图像中的比重,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度
在这里插入图片描述

灰度图与RGB图像转换:任何颜色都有红、绿、蓝三原色组成,假如原来某点的颜色为RGB(R,G,B),那么,我们可以通过下面几种方法,将其转换为灰度:
1.浮点算法:Gray = R * 0.3+G * 0.59+B * 0.11
2.整数方法:Gray = (R * 30+G * 59+B * 11) / 100
3.移位方法:Gray = (R * 76+G * 151+B * 28) >> 8;
4.平均值法:Gray = (R+G+B) / 3;
5.仅取绿色:Gray=G;
通过上述任一种方法求得Gray后,将原来的RGB(R,G,B)中的R,G,B统一用Gray替换,形成新的颜RGB(Gray,Gray,Gray),用它替换原来的RGB(R,G,B)就是灰度图了。

所以RGB可以转化为灰度图,RGB的红色、绿色、蓝色三个通道的缩览图都是以灰度显示的

python代码

程序的实现

from PIL import Image
img = Image.open('lena.png')
gray_img = img.convert('L')

模式“L”为灰色图像公式:L = R * 299/1000 + G * 587/1000+ B * 114/1000

二丶通道理解

下面是一张(4,4,3)图像的卷积运算,一张RGB(M,N,3),所以大家可以理解卷积的通道了吧
在这里插入图片描述

有时候我们可以原本需要三个通道的化成灰度图,就只有一个通道了

发布了178 篇原创文章 · 获赞 140 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_42146775/article/details/104757348