欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 七天速成数字图像处理之七(颜色图像处理基础)

七天速成数字图像处理之七(颜色图像处理基础)

2025/6/23 9:49:04 来源:https://blog.csdn.net/2402_89354642/article/details/148772700  浏览:    关键词:七天速成数字图像处理之七(颜色图像处理基础)

七天速成数字图像处理之七(颜色图像处理基础)

✳️ 第一节:颜色模型基础

✅ 步骤目标:
理解常用颜色模型的结构、数学表达与使用场景。

📥 输入内容:
一张 RGB 彩色图像。

🔍 关键知识任务:

  1. RGB(Red, Green, Blue)
    构成:每个像素由 R/G/B 三个分量组成,值范围通常为 [0, 255]。
    特点:适合显示设备,但不适合色调、亮度调节。
    例子:原始数码相机输出图像。

  2. HSV(Hue, Saturation, Value)
    Hue:色相(色彩种类,0-360°)
    Saturation:饱和度(纯度)
    Value:明度(亮度)
    💡 应用场景:颜色分割(如检测黄色车牌、红色苹果等)更容易在人类感知空间中进行。

  3. YCrCb(亮度+色度)
    Y:亮度(Luminance)
    Cr、Cb:色度信息(红/蓝差)
    💡 应用场景:压缩标准(如 JPEG/MPEG)更偏爱 YCrCb,因人眼对亮度更敏感。

  4. Lab(CIELAB)
    L:亮度

a、b:颜色维度(绿-红轴、蓝-黄轴)

💡 优势:更贴近人类感知的颜色差异度量(用于图像比对、图像增强)

颜色模型应用优势是否感知友好是否常用于分割/增强
RGB图像采集、显示设备一般
HSV色彩选择、颜色分割
YCrCb视频压缩、肤色检测
Lab感知增强、颜色匹配

✅ Done Criteria:
能区分并理解每种颜色模型的结构与应用;

能说出什么时候 RGB 不好用,什么时候 HSV 更适合;

能通过 OpenCV 将 RGB 图像转换为 HSV 或 YCrCb;

🎨 第二节:颜色空间转换(含代码与操作)

✅ 步骤目标:
掌握如何在不同颜色模型之间进行转换,并理解其实际用途。

📥 输入内容:
一张 RGB 彩色图像;

Python 环境(推荐使用 OpenCV);

import cv2
import matplotlib.pyplot as plt# 读取图像(确保是 BGR)
image = cv2.imread("your_image.jpg")# 转换为 RGB(Matplotlib 显示用)
rgb_image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)# 转换为 HSV
hsv_image = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)# 转换为 YCrCb
ycrcb_image = cv2.cvtColor(image, cv2.COLOR_BGR2YCrCb)# 转换为 Lab
lab_image = cv2.cvtColor(image, cv2.COLOR_BGR2Lab)# 显示图像
titles = ['RGB', 'HSV', 'YCrCb', 'Lab']
images = [rgb_image, hsv_image, ycrcb_image, lab_image]plt.figure(figsize=(12, 8))
for i in range(4):plt.subplot(2, 2, i+1)plt.imshow(images[i])plt.title(titles[i])plt.axis('off')
plt.tight_layout()
plt.show()
转换作用使用场景
RGB → HSV将图像转换为色相、饱和、明度颜色分割、选色、图像调整
RGB → YCrCb分离亮度与色差信息人脸识别、视频压缩(JPEG)
RGB → Lab感知友好、颜色差异度量图像匹配、颜色增强、对比提升

🎯 衍生任务建议:
可提取某一通道如 HSV[…, 0](色调),进行颜色掩膜分割;

可对 Y 通道做直方图均衡,用于亮度提升;

对 Lab 图像中 L 通道增强 + a/b 保持,可做对比度优化不影响色彩。

✅ Done Criteria:
能用代码在 RGB 与其他颜色空间之间自由转换;

知道各个颜色空间的通道意义;

能结合任务场景选用合适的颜色空间。

🎨 第三节:颜色通道处理与颜色增强

✅ 步骤目标:
理解颜色通道的独立性与协同性;

学会在每个通道上进行操作(如增强红色、调节亮度);

掌握通道分离、合并、增强的基本流程;

📥 输入内容:
一张 RGB 图像;

使用 OpenCV 或 Matplotlib 的可视化环境;
🧩 任务 1:颜色通道的分离与合并

import cv2
import matplotlib.pyplot as pltimg = cv2.imread('your_image.jpg')
b, g, r = cv2.split(img)# 显示每个通道
plt.figure(figsize=(12, 4))
for i, (channel, title) in enumerate(zip([b, g, r], ['Blue', 'Green', 'Red'])):plt.subplot(1, 3, i+1)plt.imshow(channel, cmap='gray')plt.title(title)plt.axis('off')
plt.tight_layout()
plt.show()# 合并通道
merged = cv2.merge([b, g, r])

在这里插入图片描述

🧩 任务 2:只增强某个通道(如红色)

# 让红色更强烈
r_boosted = cv2.add(r, 50)  # 限制最大值为255
boosted_img = cv2.merge([b, g, r_boosted])# 可视化
plt.imshow(cv2.cvtColor(boosted_img, cv2.COLOR_BGR2RGB))
plt.title("Red Channel Boosted")
plt.axis('off')
plt.show()

在这里插入图片描述

🧩 任务 3:颜色通道的“单通道显示” vs “通道叠加显示”
单通道显示:提取 R/G/B 作为灰度图表示各通道强度;

通道叠加显示:将通道值置为 0,只保留目标通道可形成色彩图:

# 只显示红色部分(非灰度)
zeros = b * 0
red_only = cv2.merge([zeros, zeros, r])

在这里插入图片描述

操作类型示例效果
通道加亮cv2.add(r, 50)增强亮度/颜色强度
对比度提升cv2.equalizeHist(g)强化颜色分布
掩膜增强只在特定区域增强某通道聚焦目标,如红色区域增强
通道互换交换 R ↔ G改变视觉色彩表现
加权组合gray = 0.3*r + 0.59*g + 0.11*b转灰度、亮度融合
🎯 输出产物
你可以实现如下功能:

精准提取和增强某一通道的图像效果;

手动构建灰度图或亮度图;

通过通道操作进行视觉风格修改;

✅ Done Criteria:
能够用代码拆分与合并颜色通道;

能对单个通道进行亮度、对比度或掩膜增强;

能清晰区分“单通道灰度显示”与“通道色彩叠加显示”的含义;

第四章:伪彩色处理与应用(Pseudocolor Processing)

✅ 步骤目标
理解什么是伪彩色(Pseudocolor)及其与真彩色的区别;

掌握灰度图转伪彩色图的方法;

学会常见伪彩色映射策略及其用途;

实践多个伪彩色映射函数在 OpenCV / Matplotlib 中的应用;

📥 输入内容
一张灰度图像或亮度图像;

可选:红外图像、热成像图像、医学图像(如X光);

使用 OpenCV 和/或 Matplotlib 进行处理与可视化;

🔍 关键任务
🧩 任务 1:什么是伪彩色图像?
真彩色图像(True Color):RGB 三通道均来源于真实颜色;
伪彩色图像(Pseudocolor):
原图可能只有灰度(单通道);
使用某种 颜色映射表(colormap) 将灰度值映射为彩色;
视觉上更容易感知梯度、边界和差异。

import cv2
import matplotlib.pyplot as pltgray = cv2.imread("test_gray.jpg", 0)  # 读取为灰度图# 应用伪彩色(如 JET、HOT、RAINBOW)
pseudo = cv2.applyColorMap(gray, cv2.COLORMAP_JET)plt.imshow(cv2.cvtColor(pseudo, cv2.COLOR_BGR2RGB))
plt.title("Pseudocolor - JET")
plt.axis('off')
plt.show()

🎨 常用伪彩色表:

COLORMAP_JET: 热力图风格,红->绿->蓝;

COLORMAP_HOT: 黑->红->黄->白,适合热成像;

COLORMAP_OCEAN, COLORMAP_SUMMER, COLORMAP_RAINBOW 等可用于不同任务;

应用领域图像类型伪彩色作用
医学影像X光、MRI强调病灶与正常区域的对比
热成像红外图像显示温度分布,增强识别力
工业检测缺陷/厚度图可视化微小纹理或材料差异
卫星遥感地形图、波段图分析植被、土地、水体等
数学图像分析灰度图显示梯度、边缘、亮度差异等

🎯 输出产物
你应该能够实现:

使用 OpenCV 加载灰度图并转换为任意伪彩色图像;

在 matplotlib 中使用不同 cmap 对图像视觉效果进行对比;

明确选择不同颜色映射表对结果的影响,并适配场景使用;

✅ Done Criteria
至少掌握 3 种伪彩色映射方式的应用;

能清楚解释伪彩色与真彩色的区别;

能将灰度图应用到不同颜色空间中,并解释视觉增强意义;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词