AI 视觉连载2:灰度图

大家好啊,我是董章鱼。

上一篇文章1、图像和像素中说到:像素是计算机视觉任务中的原材料。

很多图像处理任务以像素的局部性为基础,在不同尺度下完成图像特征的提取。你可以这么理解这些图像的特征,小的特征可能为图像的细节,大的则为图像轮廓。

现在我们来了解一种十分简洁但非常高效的图像表示方法------灰度图。了解灰度图,有助于我们更好的了解图像的特征。 灰度图是一种只包含亮度信息而不包含颜色信息的图像。

在灰度图中,每个像素的亮度通过一个灰度级别来表示,通常用整数值表示,范围从0(黑色)到 255(白色)。 解释一下为什么是 0 - 255。

因为任何数据在计算机中都是以数值的形式存储的,不论是图像还是音频。

在计算机的基本数据类型中,一个基本的数据类型为 char 或 Byte,也就是占 1 个字节、8 个 bits 的数据类型。而无符号 char 类型可以表示的数据范围刚好就在 0 - 255 之间,因此像素的灰度级别也就采用了 0 - 255 这个范围。 这些等级的灰度基本可以很好的表示丰富的图像细节。

为什么要使用灰度图

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

  • 简化图像处理

灰度图只包含亮度信息,相比彩色图像更加简单,因此在图像处理任务中更容易处理。

这对于一些基础任务,如图像的边缘检测和轮廓分析,非常有利;在后续的章节中,便会使用灰度图做图像的分割,主要看中的就是灰度图对于轮廓的表现更加友好。

  • 减小存储和传输成本

灰度图像的存储空间(占用内存大小)远远小于彩色图像,因为每个像素只需要一个灰度级别的值,无论是图像传输还是存储,灰度图都具有明显的优势。

  • 强调结构和纹理

灰度图突出了图像的结构和纹理,使得在一些特定的图像分析任务中更加有效。例如,在医学影像中比如拍胸片CT等,灰度图会用于强调组织的密度和结构。

下面来了解一下如何生成一张灰度图。

灰度图如何生成

我用 AI 软件画了一张猫咪坐在公园长椅上的照片,下面是 AI 生成的彩色图片。

你可以用以下的 python 代码完成彩色图片到灰度图片的转换:

python 复制代码
from PIL import Image

# 打开彩色图像
color_image = Image.open('./cat.png')
# 转换为灰度图
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 格式。RGBA 代表红(Red)、绿(Green)、蓝(Blue)和透明度(Alpha)四个通道。

在 RGBA 格式的图像中,每个像素包含四个值,分别表示其在红、绿、蓝三个颜色通道上的强度,以及透明度通道上的值(0 表示完全透明,255 表示完全不透明)。

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

总的来说:灰度图和彩色图相比,更加简洁和高效。在很多领域比如医学影像成像,或者印刷出版,灰度图都有着它独一无二的用途。

后面的文章也会使用灰度图做一次图像分割的实战练习。

上述彩色图片转灰度图的 python 代码可以在gitee.com/iwaihou/cv_...

相关推荐
yunfuuwqi2 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
九河云2 小时前
5秒开服,你的应用部署还卡在“加载中”吗?
大数据·人工智能·安全·机器学习·华为云
人工智能培训2 小时前
具身智能视觉、触觉、力觉、听觉等信息如何实时对齐与融合?
人工智能·深度学习·大模型·transformer·企业数字化转型·具身智能
wenzhangli72 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
后端小肥肠3 小时前
别再盲目抽卡了!Seedance 2.0 成本太高?教你用 Claude Code 100% 出片
人工智能·aigc·agent
每日新鲜事3 小时前
热销复盘:招商林屿缦岛203套售罄背后的客户逻辑分析
大数据·人工智能
Coder_Boy_3 小时前
基于SpringAI的在线考试系统-考试系统开发流程案例
java·数据库·人工智能·spring boot·后端
挖坑的张师傅3 小时前
对 AI Native 架构的一些思考
人工智能
LinQingYanga4 小时前
极客时间多模态大模型训练营毕业总结(2026年2月8日)
人工智能