mobile wallpaper 1mobile wallpaper 2mobile wallpaper 3mobile wallpaper 4mobile wallpaper 5mobile wallpaper 6mobile wallpaper 7mobile wallpaper 8mobile wallpaper 9mobile wallpaper 10mobile wallpaper 11mobile wallpaper 12mobile wallpaper 13
4883 字
15 分鐘
彩色图像处理
2026-04-27

第 6 章 彩色图像处理#

学习目标:理解颜色的物理本质与人眼感知机制,掌握主流颜色空间之间的转换与各自的适用场景,学会彩色图像的增强、分割与校正。 颜色不是三个数字那么简单——它是物理、生理、心理的交织。


6.1 颜色的物理基础#

6.1.1 光与颜色:从牛顿说起#

1666 年,牛顿用三棱镜把太阳光分成七色光带,证明白光是各种波长(颜色)的混合。

太阳光 ── 三棱镜 ──> 红 橙 黄 绿 青 蓝 紫
↑ ↑
700 nm 380 nm

可见光波长范围:380-780 nm(或说 400-700 nm)。

6.1.2 物体的颜色 = 反射光谱#

物体本身没有颜色。物体的颜色取决于: [ \text{反射光谱} = \text{入射光谱} \times \text{反射率 } r(\lambda) ]

所以同一物体在白炽灯(偏黄)和日光灯(偏冷白)下颜色看起来不同——这是色温 (Color Temperature) 对感知的影响。

6.1.3 三刺激理论(Young-Helmholtz 1802-1850)#

人眼视网膜有三类视锥细胞(Cone),分别对不同波长敏感:

细胞峰值波长俗称
L (long)560 nm
M (medium)530 nm绿
S (short)420 nm

关键结论:人眼对颜色的感知可以用**三个数(刺激值)**描述: [ L = \int r(\lambda) \cdot \phi_L(\lambda) d\lambda, \quad M = \int r \phi_M, \quad S = \int r \phi_S ]

三原色 (Trichromatic) 原理: 任何颜色都可以用三种基色以不同强度调配出来(对人眼而言等效)。这就是所有显示器用 RGB 三基色的根本原因。

注意:RGB ≠ LMS。显示器的 R (630 nm)、G (530 nm)、B (450 nm) 是工程选择,不完全等于视锥光谱响应,因此存在”色域限制”。

6.1.4 颜色的三个属性(感知)#

属性定义英文
色调 (Hue)“是什么颜色”(红/黄/绿/蓝…)Hue
饱和度 (Saturation)颜色的鲜艳程度(灰到彩)Saturation
亮度 (Brightness)明暗程度Value / Lightness
饱和度低 ─ 饱和度高
灰 ────────── 鲜红

HSV、HSI、HSL 等颜色空间就是对应这三个属性的建模。


6.2 CIE 色度学#

6.2.1 CIE 1931 色度图#

国际照明委员会(CIE)1931 定义了”标准人眼”的三个色彩匹配函数 (\bar{x}(\lambda), \bar{y}(\lambda), \bar{z}(\lambda))。任一颜色可用三刺激值表示: [ X = \int I(\lambda) \bar{x}(\lambda) d\lambda, \quad Y = \int I \bar{y}, \quad Z = \int I \bar{z} ]

色度坐标 (chromaticity):把三维归一化到二维: [ x = \frac{X}{X + Y + Z}, \quad y = \frac{Y}{X + Y + Z} ]

CIE 图就是 ((x, y)) 平面上的马蹄形——这是人眼可见的所有颜色:

y ▲
1 ┤ ∧ 500nm
│ / ╲
│ / ╲ 550nm
│ / ╲
│/ · 白点 ╲
│ ╲
│ 600nm ╲ 700nm
0 ┼────────────→ x
0 1
  • 马蹄边界:单色光(纯光谱色)
  • 马蹄内部:混合色
  • 连接两点的线段 = 两色混合可得的所有颜色

白点 E:(x = y = 1/3),是等能白。各种光源有自己的白点(D50、D65、A 等)。

6.2.2 色域 (Gamut)#

定义 6.1:一个显示/打印系统能产生的所有颜色的集合。

在 CIE 图上是一个三角形(三原色连线包围),或多边形(> 3 原色)。

色域用途相对大小
sRGB消费级显示器、网络图像中(基准)
Adobe RGB专业摄影更大(含更多绿色)
DCI-P3影视、广色域手机更大
ProPhoto RGB顶级后期极大
BT.20204K/8K HDR覆盖 CIE 99%

色域映射 (Gamut Mapping):把大色域图像压到小色域设备上显示(必然丢失一些颜色)。

6.2.3 补色(重要概念)#

CIE 图上,过白点的直线两端是互补色

  • 红 ↔ 青
  • 绿 ↔ 品红
  • 蓝 ↔ 黄

物理意义:互补色相加 = 白。因此”减法”印刷系统用 CMY(青品黄)做墨水——它们吸收 RGB 原色,反射另外两色。


6.3 RGB 颜色空间#

6.3.1 定义#

[ \text{RGB} = (R, G, B), \quad R, G, B \in [0, 1] \text{ 或 } [0, 255] ]

  • 加色模型:RGB 三光合成
  • 零色 (0, 0, 0) = 黑,满色 (1, 1, 1) = 白
  • 24-bit RGB:每通道 8 位,共 16.7M 色

6.3.2 几何:RGB 立方体#

(0,1,1) ┌────────┐ (1,1,1) 白
Cyan │ │ White
/ │ │
/ │ │
(0,0,1)/─────── (1,0,1) Magenta
Blue │ │
│ │
│ │
(0,0,0)└────────┘(1,0,0) Red
Black
  • 对角线:从黑到白的灰度线
  • 立方体的 8 个顶点对应 8 种”极端颜色”

6.3.3 RGB 的问题#

  1. 颜色与亮度耦合:想改亮度必须三通道同步改,否则颜色偏
  2. 非感知均匀:RGB 空间中的欧氏距离 ≠ 人眼感知差异
  3. 相关性高:自然图像中 R/G/B 三通道相关系数常 > 0.8 → 压缩效率低

这些问题激励了后续各种”工程化”颜色空间。

6.3.4 Linear RGB vs sRGB(必知)#

显示器用 sRGB(带 (\gamma = 2.2) 编码),而线性光强才能做合理的混合、HDR、AA 等。

sRGB 值 (uint8) ──> Linear RGB ──> 处理 ──> 回到 sRGB ──> 显示
↑ gamma^-1 gamma
存储格式 线性空间 存储格式

公式(sRGB 精确版): [ L = \begin{cases} c / 12.92 & c \le 0.04045 \ ((c + 0.055)/1.055)^{2.4} & c > 0.04045 \end{cases} ]

简化版 (L = c^{2.2})。任何”严肃”的图像处理都应先做 sRGB 解码


6.4 CMY / CMYK 颜色空间(印刷)#

6.4.1 减色模型#

印刷是 减色:墨水吸收 RGB 中的某色。 [ \begin{bmatrix} C \ M \ Y \end{bmatrix} = \begin{bmatrix} 1 \ 1 \ 1 \end{bmatrix} - \begin{bmatrix} R \ G \ B \end{bmatrix} ]

  • C (Cyan) = 1 - R(吸收红)
  • M (Magenta) = 1 - G(吸收绿)
  • Y (Yellow) = 1 - B(吸收蓝)

6.4.2 为什么需要 K(黑墨)#

理论上 C + M + Y = 黑。实际墨水不纯,混合只得深棕色。 解决:用独立黑墨 K (key),节省彩色墨、加深暗部。

转换: [ K = \min(1-R, 1-G, 1-B), \quad C’ = \frac{C - K}{1 - K}, \ldots ]

工程层面:彩色打印机都是 CMYK(或扩展到六色、八色)。网页、手机只用 RGB。


6.5 HSV / HSI / HSL:色调 - 饱和度 - 亮度#

这些空间的动机:把”颜色的属性”与”亮度”解耦,更符合人的描述习惯(“鲜红”、“淡蓝”)。

6.5.1 HSV(Hue, Saturation, Value)#

几何:六角锥#

V ▲ 白 (V=1)
│ \
│ \
│ · · · ← H (色调, 沿锥面)
│ · ·· ·
│· · · ·
│ · · · ← S (饱和, 从中轴向外)
● 黑 (V=0)

转换公式(RGB → HSV)#

归一化 RGB ∈ [0, 1],令 (M = \max(R, G, B), m = \min(R, G, B)),(C = M - m):

[ V = M ] [ S = \begin{cases} 0 & M = 0 \ C / M & M \neq 0 \end{cases} ] [ H = \begin{cases} \text{undefined} & C = 0 \ 60° \cdot \frac{G - B}{C} \mod 360° & M = R \ 60° \cdot \left(\frac{B - R}{C} + 2\right) & M = G \ 60° \cdot \left(\frac{R - G}{C} + 4\right) & M = B \end{cases} ]

H 的周期性:0° = 360° = 红。这导致 H 是角度量,不能直接求均值!

OpenCV 的 8-bit 编码#

为适应 uint8

  • (H \in [0, 179])(原本 0-359,折半了)
  • (S, V \in [0, 255])
hsv = cv2.cvtColor(bgr, cv2.COLOR_BGR2HSV)
# 要想知道 H 的实际度数,乘 2

6.5.2 HSI(冈萨雷斯教材推荐)#

I(Intensity)= 三通道平均 (I = (R+G+B)/3)。

[ S = 1 - \frac{3 \min(R, G, B)}{R + G + B} ] [ H = \begin{cases} \theta & B \le G \ 360° - \theta & B > G \end{cases} ] [ \theta = \cos^{-1} \left[ \frac{0.5[(R - G) + (R - B)]}{\sqrt{(R - G)^2 + (R - B)(G - B)}} \right] ]

HSV vs HSI

  • HSV 的 V = max(R, G, B)(更接近”高光”的感觉)
  • HSI 的 I = mean(更接近”总功率”)
  • 实际工程偏爱 HSV,因为计算简单、OpenCV 原生支持

6.5.3 HSL(Hue, Saturation, Lightness)#

L = (max + min)/2,是三者中”最对称”的。Web 开发(CSS)常用 HSL。

6.5.4 使用场景#

任务空间原因
选色 UIHSV/HSL符合直觉
颜色分割(按色调)HSVH 与光照近似无关
颜色替换HSV改 H 通道
图像增强(对 V 做 HE)HSV保色不变

:HSV/HSI 在 (S \to 0) 处 H 未定义(奇异点);运算中要小心。


6.6 YCbCr / YUV(视频压缩标准)#

6.6.1 动机#

前面讲的空间都面向”视觉感知”。YCbCr 面向压缩

  • 人眼对亮度敏感
  • 人眼对色度不敏感
  • → 把亮度和色度分离,压缩色度通道

6.6.2 转换公式(BT.601,JPEG/SDTV 标准)#

[ \begin{aligned} Y &= 0.299 R + 0.587 G + 0.114 B \ C_b &= -0.169 R - 0.331 G + 0.500 B + 128 \ C_r &= 0.500 R - 0.419 G - 0.081 B + 128 \end{aligned} ]

  • (Y):亮度(0-255)
  • (C_b):蓝色色度(减去 128 后正负均可)
  • (C_r):红色色度

HDTV(BT.709)UHD(BT.2020) 用不同系数但结构相同。

6.6.3 色度子采样 4:2:0#

关键原理:人眼对色度分辨率的要求远低于亮度。

采样格式

格式亮度色度压缩率
4:4:4全分辨率全分辨率无损
4:2:2全分辨率水平 1/22/3
4:2:0全分辨率水平+垂直各 1/21/2
4:4:4: 4:2:0:
Y Y Y Y Y Y Y Y
Y Y Y Y Y Y Y Y
Cb Cb Cb Cb Cb . Cb . (只在 2x2 一个位置存)
Cr Cr Cr Cr Cr . Cr .

视觉损失几乎察觉不到,文件大小减一半。JPEG、H.264、H.265 默认都用 4:2:0。

6.6.4 YUV 一族#

  • YUV:模拟电视时代
  • YCbCr:数字版,JPEG/MPEG 标准
  • YCoCg:简化运算,微软 HD Photo 用
  • YPbPr:分量视频接口

实际中 YUV / YCbCr 常混用,严格区分要看标准文档。


6.7 CIE Lab(感知均匀)#

6.7.1 动机#

RGB/HSV 中”相同的欧氏距离” 不代表 “相同的视觉差异”。

举例:RGB 空间下 (200, 100, 50) 到 (200, 120, 50) vs (50, 100, 150) 到 (50, 120, 150) 的距离一样,但视觉感受完全不同。

6.7.2 定义#

先从 RGB 转到 CIE XYZ: [ \begin{bmatrix} X \ Y \ Z \end{bmatrix} = M_{\text{sRGB} \to \text{XYZ}} \begin{bmatrix} R \ G \ B \end{bmatrix} ]

然后: [ L^* = 116 f(Y/Y_n) - 16 ] [ a^* = 500 \left[ f(X/X_n) - f(Y/Y_n) \right] ] [ b^* = 200 \left[ f(Y/Y_n) - f(Z/Z_n) \right] ]

其中 (f(t) = t^{1/3})(近似立方根)(, X_n, Y_n, Z_n) 为白点参考(D65)。

  • *(L^ \in [0, 100])**:亮度
  • *(a^ \in [-128, 127])**:绿-红轴
  • *(b^ \in [-128, 127])**:蓝-黄轴

6.7.3 感知均匀性#

CIE ΔE 色差公式: [ \Delta E_{76} = \sqrt{(\Delta L^)^2 + (\Delta a^)^2 + (\Delta b^*)^2} ]

  • (\Delta E < 1):一般人眼察觉不到
  • (\Delta E \approx 2.3):JND(恰可察觉差异)
  • (\Delta E > 6):明显不同色

更精确的 CIE ΔE2000 考虑了色调和饱和度的非线性,工业标准。

6.7.4 Lab 的用途#

  1. 颜色聚类分割:在 Lab 空间 K-Means 比在 RGB 合理
  2. 色彩校对:印刷、油漆配色
  3. 颜色转换中间桥梁:ICC Profile 常经 Lab
  4. 修图软件的”明度”操作:只改 L 不影响颜色

6.8 颜色空间对比总览#

空间动机优点缺点适用
RGB硬件友好简单、显示原生颜色-亮度耦合存储、显示
CMY(K)印刷减色墨水直接可用设备相关打印
HSV/HSI模拟直觉易于颜色选择H 奇异交互、分割
YCbCr压缩可子采样非感知均匀JPEG/视频
Lab感知均匀ΔE 语义合理计算复杂颜色比较
XYZCIE 标准设备无关不直观色彩管理

6.9 伪彩色处理#

动机:灰度图只有 256 级,人眼对灰度分辨率敏感度低。换成颜色后,不同数值之间差异一目了然。

6.9.1 灰度分层#

将 ([0, 255]) 按阈值切片,每段赋一种颜色: [ g(x, y) = c_k \text{ if } T_{k-1} \le f(x, y) < T_k ]

  • 简单但有颜色跳变

6.9.2 灰度到彩色变换#

三个独立函数: [ R = T_R(f), \quad G = T_G(f), \quad B = T_B(f) ]

典型 colormap:

名字用途
jet经典蓝-红过渡(不推荐,非感知均匀)
viridisMatplotlib 默认,感知均匀,色盲友好
hot热度图
gray灰度
rainbow跨越整个色调环(易误导)
colored = cv2.applyColorMap(gray, cv2.COLORMAP_JET)

6.9.3 应用#

  • 热成像(FLIR)
  • 医学(CT/MRI 增强显示)
  • 地理(高程图、温度图)
  • 科学可视化

6.10 全彩图像的处理#

6.10.1 逐通道 vs 矢量处理#

方法
逐通道 (Per-channel)简单、复用灰度算法可能破坏颜色平衡
矢量 (Vector)保持颜色一致需定义”像素 = 3D 向量”的操作

典型坑:对 RGB 三通道分别做直方图均衡化会造成颜色偏移(因为 R/G/B 的 CDF 不同)。

正确做法

ycc = cv2.cvtColor(bgr, cv2.COLOR_BGR2YCrCb)
ycc[..., 0] = cv2.equalizeHist(ycc[..., 0]) # 只对 Y 做 HE
result = cv2.cvtColor(ycc, cv2.COLOR_YCrCb2BGR)

或用 Lab 空间对 L 做处理。

6.10.2 彩色平滑#

  • 逐通道高斯:等价于”向量平均”(因为线性) → 可用
  • 逐通道中值:可能产生新颜色(RGB 中值分别来自不同像素)→ 不推荐
  • 矢量中值滤波 (VMF): [ \hat{f}(x, y) = \arg\min_{v \in S_{xy}} \sum_{u \in S_{xy}} |v - u| ] (即在邻域中找到一个像素,其到其他像素的 L1 距离之和最小)→ 保持颜色一致

6.10.3 彩色锐化#

对三通道分别做拉普拉斯锐化,近似矢量锐化(因为二阶导是线性算子): [ g = f - c \nabla^2 f ] 对彩色直接应用。

6.10.4 彩色补色#

[ (R’, G’, B’) = (L - 1 - R, L - 1 - G, L - 1 - B) ] 类似灰度反转。

6.10.5 彩色切片(分割基础)#

在 HSV 中选择某色调范围:

hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
lower = (100, 80, 40) # 蓝色
upper = (130, 255, 255)
mask = cv2.inRange(hsv, lower, upper)

6.10.6 彩色直方图均衡化(正确做法)#

方法 1: 在 YCbCr 的 Y 通道做 HE
方法 2: 在 HSV 的 V 通道做 HE
方法 3: 在 Lab 的 L 通道做 HE(感知最均匀)
方法 4: CLAHE 对单通道

千万不要对 RGB 三通道分别做 HE。


6.11 彩色边缘检测#

灰度图梯度不能直接推广到彩色:对 R/G/B 分别求梯度再取 max?选哪通道?

6.11.1 Di Zenzo 方法(结构张量)#

把像素看作 3D 向量 (\mathbf{c} = (R, G, B)^T)。定义结构张量: [ G = \begin{bmatrix} g_{xx} & g_{xy} \ g_{xy} & g_{yy} \end{bmatrix} ] 其中 [ g_{xx} = \left|\frac{\partial \mathbf{c}}{\partial x}\right|^2 = |\partial_x R|^2 + |\partial_x G|^2 + |\partial_x B|^2 ] [ g_{yy} = \left|\frac{\partial \mathbf{c}}{\partial y}\right|^2 ] [ g_{xy} = \frac{\partial \mathbf{c}}{\partial x} \cdot \frac{\partial \mathbf{c}}{\partial y} ]

边缘强度:(G) 的最大特征值 边缘方向:对应特征向量

这个方法考虑了颜色在所有通道上的变化,比单通道处理鲁棒。


6.12 彩色分割#

6.12.1 基于 HSV 色调的分割#

已介绍(6.10.5)。用于目标明显单一色调的场景(红苹果、黄球)。

6.12.2 基于 Lab 的 K-Means#

lab = cv2.cvtColor(bgr, cv2.COLOR_BGR2LAB)
data = lab.reshape(-1, 3).astype(np.float32)
criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 10, 1.0)
_, labels, centers = cv2.kmeans(data, K=5, ...)

Lab 空间的欧氏距离 ≈ 感知差异,聚类合理。

6.12.3 GrabCut、Mean-Shift(第 10 章详讲)#


6.13 颜色校正与白平衡#

6.13.1 白平衡(AWB)的动机#

不同光源下,白色物体反射光的光谱不同:

  • 日光(6500K):偏冷
  • 白炽灯(3200K):偏暖
  • 荧光灯:谱线离散

相机捕获的是光源 × 反射率,不做校正会让白纸在不同光源下显示不同颜色。

6.13.2 灰世界算法 (Gray-World)#

假设:场景的 R/G/B 平均等于灰色。 [ \bar{R} = \bar{G} = \bar{B} ]

算法

  1. 计算三通道均值 (\bar{R}, \bar{G}, \bar{B})
  2. 计算总平均 (\bar{I} = (\bar{R} + \bar{G} + \bar{B})/3)
  3. 增益 (k_R = \bar{I}/\bar{R}),同理 (k_G, k_B)
  4. (R’ = k_R R),以此类推

适用:场景色彩丰富时(不偏色)。如果场景本身偏色(绿草地、蓝色海面),会失败。

6.13.3 白块算法 (White-Patch / Max-RGB)#

假设:场景中最亮的像素是白色。

算法: [ k_R = \frac{255}{\max R}, \quad k_G = \frac{255}{\max G}, \quad k_B = \frac{255}{\max B} ]

缺点:对噪声敏感(高光溢出)。改进:用 99% 分位数。

6.13.4 色温矩阵 (Color Correction Matrix, CCM)#

色卡(如 Macbeth ColorChecker)拍照,得到 24 种参考色的真实值和测量值,求解线性矩阵: [ \begin{bmatrix} R’ \ G’ \ B’ \end{bmatrix} = M \begin{bmatrix} R \ G \ B \end{bmatrix} ] (3×3 矩阵,9 个参数,可加偏置变 3×4)

通过最小二乘解 (M)。这是所有数码相机 ISP 必做的一步。

6.13.5 现代 AWB:基于学习#

  • 基于 CNN 的全局 AWB(Hu 2017)
  • 基于 Transformer 的照片级 AWB
  • 手机端都用学习方法,精度远超 Gray-World

6.14 本章要点与面试考点#

✅ 必须掌握#

  • 三刺激理论与 CIE 色度图
  • RGB 立方体几何与 sRGB gamma
  • HSV / Lab / YCbCr 的设计动机
  • RGB ↔ HSV 的转换结构
  • 色度子采样 4:2:0 的原理与视觉依据
  • 彩色 HE 的正确做法(Y 或 L 通道)
  • 灰世界算法

💡 高频面试题#

Q1. 为什么 JPEG 用 YCbCr 而非 RGB?

答:人眼对亮度 Y 敏感、对色度 (C_b, C_r) 不敏感。转 YCbCr 后可以对色度做 4:2:0 子采样,只保留 1/4 数据,视觉几乎无损;亮度保持全分辨率。RGB 三通道同样重要,无法减采样。

Q2. OpenCV 的 Hue 范围为什么是 0-179?

答:H 原本是 0-359°,为了塞进 uint8 (0-255),OpenCV 折半了:存 0-179,实际度数乘 2。

Q3. 为什么不能对 RGB 三通道分别做直方图均衡?

答:R/G/B 三通道分布不同,各自 HE 会破坏三者比例 → 产生偏色。应转到”亮度 + 色度”空间(YCrCb/HSV/Lab),只对亮度通道 HE,色度不变 → 颜色保留,对比度提升。

Q4. Lab 空间的优点?

答:感知均匀。Lab 空间中的欧氏距离近似等于人眼感知的色差 ΔE,因此:

  1. 颜色相似度比较合理(K-Means 聚类)
  2. 色差阈值有物理意义(ΔE < 1 不可辨)
  3. 修图只改亮度不改颜色(L 独立)

Q5. 灰世界白平衡的假设与局限?

答:

  • 假设:场景 R/G/B 平均 = 灰
  • 局限:场景本身有显著偏色时失败(如大面积草地、海面)
  • 改进:分块灰世界、基于学习的 AWB

Q6. HSV 的 H 通道为什么不能直接求平均?

答:H 是角度量(0-360°,周期性)。例如 350° 和 10° 的平均视觉上是 0°(红),但数值平均是 180°(青)。应转到单位圆((cosH, sinH))再求平均,再 atan2 回 H。

Q7. 色度子采样 4:2:0 压缩了多少比例?

答:Y 全分辨率占 1 份,Cb、Cr 各 1/4 分辨率占 1/4 份,总 1.5 份;相比 4:4:4 的 3 份 → 压缩率 50%。

Q8. 为什么要做 gamma 解码再处理?

答:sRGB 存储的像素值经过 gamma 编码,不是线性光强度。直接对它做线性运算(平均、HDR 合成、AA)物理不正确,会导致颜色或亮度的错误。正确流程:sRGB → Linear → 处理 → Linear → sRGB。


6.15 延伸阅读#

  • Gonzalez, Digital Image Processing (4th), Ch. 6
  • Wyszecki & Stiles, Color Science(色彩学圣经)
  • Poynton, Digital Video and HD: Algorithms and Interfaces
  • Fairchild, Color Appearance Models(颜色外观模型)
  • CIE 标准:http://www.cie.co.at

下一章:从”像素”迈向”尺度”。人眼看图是从粗到细的——远观轮廓,近察纹理。如何让算法也具有这种多分辨率视角?那就是小波变换

分享

如果這篇文章對你有幫助,歡迎分享給更多人!

彩色图像处理
https://lemusakuya.com/posts/study-notes/digital-image-processing/06_彩色图像处理/
作者
レム・咲く夜
發布於
2026-04-27
許可協議
CC BY-NC-SA 4.0

部分資訊可能已經過時

目錄