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_...

相关推荐
COOLMO研究AI2 分钟前
Python 如何在 AI 接口中实现请求幂等性:防止重复提交与重复扣费
人工智能·python·php
微三云-张梅6 分钟前
东莞企业做GEO:AI信任体系的三个建设层级
大数据·人工智能·微三云geo·东莞系统开发·东莞geo
CTA量化套保13 分钟前
新手学量化,先做能复查的小流程
人工智能·python
狂奔蜗牛(bradley)18 分钟前
RKNN Toolkit2开发环境搭建实操
人工智能
weixin_4462608541 分钟前
AutoDesign:面向长时序智能体设计的元调度优化框架
人工智能
Rocktech_ruixun1 小时前
机器人端侧大模型部署对主板有哪些要求?瑞迅主控板分级方案对比
人工智能·嵌入式硬件·机器人
ZGi.ai1 小时前
多模型回答不稳定:路由规则与评测方法
网络·人工智能·大模型评测·多模型·模型路由·zgi·模型网关
dogstarhuang1 小时前
大模型 API 停服怎么办:用 API 网关实现多模型统一接入与可切换架构
人工智能·后端·架构·大模型·api·数字化转型·ai应用
紫禁玄科1 小时前
MCP协议安全深度剖析:AI Agent时代的隐形攻击面
人工智能
明航咨询_贾老师1 小时前
CISP-AISE知识体系大纲深度解读:6大模块,国内首个AI安全应用官方认证
人工智能·安全