主要色彩模型1111

人工智能 2026-06-16 15:49:48

1. RGB(红绿蓝) - 加色模型

混色原理

加法混色:通过发光(如屏幕像素)叠加不同颜色的光来产生颜色。三种基色光叠加,亮度会增加

text

红色 + 绿色 = 黄色
红色 + 蓝色 = 品红(洋红)
绿色 + 蓝色 = 青色
红色 + 绿色 + 蓝色 = 白色
全部没有 = 黑色

数值范围

  • 每个通道:0 ~ 255(8位)或 0.0 ~ 1.0(归一化)

  • 共可表示:256³ = 16,777,216 种颜色

常见颜色值(8位)

颜色RGB
纯红25500
纯绿02550
纯蓝00255
黑色000
白色255255255
灰色(50%)128128128
黄色2552550
青色0255255
品红2550255
橙色2551650
紫色1280128

混色示例

python

# RGB 混色示例
红色 = (255, 0, 0)
绿色 = (0, 255, 0)
黄色 = 红色 + 绿色  # (255, 255, 0)

# 调整亮度
暗红 = (100, 0, 0)   # 降低亮度
亮红 = (255, 50, 50) # 增加其他分量变亮

2. RGBA(红绿蓝+透明度)

混色原理

在 RGB 基础上增加 Alpha 通道 控制透明度。透明度决定了该颜色与背景颜色的混合程度。

混合公式

text

最终颜色 = 前景色 * Alpha + 背景色 * (1 - Alpha)

数值范围

  • R, G, B, A 各通道:0 ~ 255 或 0.0 ~ 1.0

  • A = 255(不透明),A = 0(完全透明)

示例

python

# 50% 透明的红色叠加在白色背景上
前景色 = (255, 0, 0, 128)  # Alpha = 128/255 ≈ 0.5
背景色 = (255, 255, 255)   # 白色

# 混合结果
R = 255 * 0.5 + 255 * (1 - 0.5) = 255
G = 0 * 0.5 + 255 * 0.5 = 127.5
B = 0 * 0.5 + 255 * 0.5 = 127.5
结果 = (255, 127, 127)  # 浅红色

常见透明度值

Alpha值透明度效果
255完全不透明
200轻微透明(约78%)
128半透明(50%)
80较透明(约31%)
0完全透明

3. CMYK(青品黄黑)- 减色模型

混色原理

减法混色:通过吸收(反射)光线来产生颜色。油墨/颜料吸收一部分光,反射剩余的光。叠加越多,颜色越暗。

text

青色 + 品红 = 蓝色
青色 + 黄色 = 绿色
品红 + 黄色 = 红色
青色 + 品红 + 黄色 = 黑色(理论上)

数值范围

  • 每个通道:0% ~ 100%(或 0 ~ 255)

  • 数值越大,该色油墨越多,颜色越暗

常见颜色值(百分比)

颜色CMYK
纯青100000
纯品红010000
纯黄001000
纯黑000100
白色0000
红色01001000
绿色10001000
蓝色10010000
灰色(50%)00050
深蓝色10080030

为什么要加黑色(K)?

理论上 C+M+Y = 黑色,但实际油墨不纯,混合后是深棕色。使用纯黑色油墨:

  • 颜色更纯正

  • 节约彩色油墨

  • 印刷文字时更清晰

RGB → CMYK 转换(简化)

python

# 假设 RGB 值范围 0-1
R, G, B = 1.0, 0.0, 0.0  # 红色

# 计算 CMYK
C = 1 - R  # 青色 = 1 - 红色
M = 1 - G  # 品红 = 1 - 绿色
Y = 1 - B  # 黄色 = 1 - 蓝色
K = min(C, M, Y)  # 黑色 = 取最小值

# 减去黑色分量
C = (C - K) / (1 - K)
M = (M - K) / (1 - K)
Y = (Y - K) / (1 - K)

4. HSV / HSL(色相饱和度明度/亮度)

混色原理

这是人类感知颜色的方式,通过三个属性描述:

属性含义范围
H (Hue) - 色相什么颜色?0° ~ 360°(红色=0°, 绿色=120°, 蓝色=240°)
S (Saturation) - 饱和度颜色纯不纯?0 ~ 1(0=灰,1=纯色)
V (Value) - 明度颜色亮不亮?0 ~ 1(0=黑,1=最亮)
L (Lightness) - 亮度颜色亮不亮?0 ~ 1(0=黑,1=白)

HSV 色相环(0°-360°)

text

0°    → 红色
60°   → 黄色
120°  → 绿色
180°  → 青色
240°  → 蓝色
300°  → 品红
360°  → 红色(回到起点)

常见颜色值(HSV)

颜色HSV
纯红100%100%
纯绿120°100%100%
纯蓝240°100%100%
粉色50%100%
深红100%50%
灰色0%50%
白色0%100%
黑色0%0%

为什么使用 HSV?

调整颜色更直观:

python

# 想要更鲜艳 → 增加 S
# 想要更亮 → 增加 V
# 想要换颜色 → 改变 H
# 想要变灰 → 降低 S
# 想要变暗 → 降低 V

5. Lab(明度ab通道)

数值范围和含义

通道含义范围说明
L明度0 ~ 1000=黑,100=白
a绿-红轴-128 ~ +127负值=绿色,正值=红色
b蓝-黄轴-128 ~ +127负值=蓝色,正值=黄色

颜色示例

颜色Lab
纯红538067
纯绿88-8683
纯蓝3279-107
白色10000
黑色000
灰色(50%)5000

为什么使用 Lab?

  • 与设备无关:无论显示器还是打印机,相同的 Lab 值看起来一样

  • 色彩空间更大:比 RGB 能表示更多颜色

  • 感知均匀:数值变化与视觉变化一致


6. 灰度(Grayscale)

混色原理

只有亮度信息,没有颜色信息。每个像素一个值表示亮度。

数值范围

  • 8位:0 ~ 255(0=黑,255=白)

  • 归一化:0.0 ~ 1.0

RGB → 灰度转换公式

python

# 标准公式(人眼对不同颜色敏感度不同)
灰度 = 0.299 * R + 0.587 * G + 0.114 * B

# 简化公式(平均值)
灰度 = (R + G + B) / 3

常见灰度值

灰度值视觉效果
0纯黑
64深灰
128中灰
192浅灰
255纯白

对比总结表

模型通道数混色方式主要用途值范围
RGB3加色(发光)显示器、屏幕0-255 或 0-1
RGBA4加色 + 透明度图像合成、UI0-255 + A
CMYK4减色(吸光)印刷、打印0-100%
HSV3感知属性图像编辑、调色H:0-360°, S/V:0-1
HSL3感知属性图像编辑、调色H:0-360°, S/L:0-1
Lab3数学空间色彩管理、转换L:0-100, a/b:-128~127
灰度1亮度黑白图像0-255

实际应用场景

python

# OpenCV 颜色转换示例
import cv2 as cv

img = cv.imread('image.jpg')  # BGR 格式

# 转换到不同色彩空间
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)  # 灰度
hsv = cv.cvtColor(img, cv.COLOR_BGR2HSV)    # HSV
lab = cv.cvtColor(img, cv.COLOR_BGR2Lab)    # Lab
cmyk = cv.cvtColor(img, cv.COLOR_BGR2CMYK)  # CMYK(需要额外库)

记忆口诀

RGB 是屏幕发光,加色混合越加越亮
CMYK 是印刷吸光,减色混合越加越暗
RGBA 多透明度,透明叠加靠算法
HSV 像人眼,色相饱和度亮度
Lab 是标准,与设备无关色彩准
灰度 最简单,只存亮度没有色

...全文
128 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

6

社区成员

发帖
与我相关
我的任务
社区描述
学习交流人工智能相关算法及技术栈
opencv计算机视觉人工智能 技术论坛(原bbs) 广东省·深圳市
社区管理员
  • 亿只小灿灿
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧