灰度与色彩

灰度与色彩

之前我们解释了像素是计算机视觉任务中的原材料,很多图像处理任务以像素局部性为基础,在不同尺度下完成图像特征的提取,小则为图像细节,大则为图像轮廓。

现在继续看一种十分简洁但很高效的图像表示----灰度图,灰度图是一种只包含亮度信息而不包含颜色信息的图像。

在灰度图中,每个像素的亮度通过一个灰度级别来表示,通常用整数数值来表示,范围从0(黑色)到255(白色)。这里解释一下为什么会是0 - 255,因为图像在计算机中存储时,存储的都是一些数据,在计算机的基础数据类型中,一般长度最小的数据类型为char或者Byte,也就是占1个字节8个bits的数据类型。而无符号char类型可以表示的数据范围正是在0 - 255之间,0 - 255个不同等级的灰度基本可以很好的表示丰富的图像细节。

为什么要用灰度图

使用灰度图会有很多好处,比如:

  1. 简化处理:灰度图只包含亮度信息,相比彩色图像更加简单,因此在图像处理任务中更容易处理。这对于一些基础的任务,比如边缘检测和轮廓分析,非常有利,在后续中便会使用灰度图做图像分割,主要便是由于灰度图对于轮廓的表现更友好。
  2. 减少存储和传输成本:灰度图像的存储空间远远小于彩色空间,因为每一个像素只需要一个灰度级别的值,无论是图像传输还是存储,灰度图都具有明显的优势。
  3. 强调结构和纹理:灰度图突出了图像的结构和纹理,使得在一些特定的图像分析任务中更加有效。例如:在医学影像中比如拍胸片,灰度图会用于强调组织的密度和结构。

灰度图如何生成

我用AI软件画了一幅 " 猫咪坐在公园长凳 "上的照片,下面是AI生成的彩色图片。
在这里插入图片描述
我们可以用python代码完成彩色图片到灰度图片的转换,如下:

from PIL import Image

#打开彩色图像
color_image = Image.open('./cat/jpg')

#转换为灰度图
gray_image = color_image.convert('L')

#保存灰度图
gray_image.save('./gray_cat.jpg')
print("彩色图片格式:" + color_image.mode)
print("灰度图片格式:" + gray_image.mode)

通过以上的代码,便可以把彩色图片转换为灰度图
在这里插入图片描述
在python代码中,使用 ’color_image.mode ’可以查看图像的mode属性,从而获得图像的格式。

比如那张彩色图片,获得的格式是:RGBA格式。
彩色图----Mode为RGBA格式
RGBA代表红(Red)、绿(Green)、蓝(Blue)和透明度(Alpha)四个通道。在RGBA格式的图像中,每个像素包含四个值,分别表示其在红、绿、蓝三个颜色通道上的强度,以及在透明度通道上的值(0表示完全透明,255表示完全不透明)。

转换为灰度图后,获取的格式为:L格式。
灰度图----Mode为L格式:
L表示灰度(Luminance)模式,在L模式的图像中,每个像素只包含一个灰度值,表示图像中该点的亮度,例如:一个L像素可以表示为150,表示该像素的亮度为中等灰。

总之灰度图与彩色图相比,更加简洁和高效。在很多领域,比如医学影像成像,或者计算机视觉,甚至是印刷出版,灰度图都有独一无二的用途。

  • 11
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值