颜色空间概述

本文介绍了颜色空间的概念,包括采样和量化过程,以及亮度、色调和饱和度的基本概念。重点讨论了RGB、CMY、YUV、YIQ和HIS等彩色空间,并阐述了它们之间的转换技术,如RGB与CMYK的互补关系。同时,文章还涉及彩色电视信号制式,如NTSC、PAL和SECAM的区别。

颜色空间概述

 

   人类获取信息的70~80%来源于视觉。

    多媒体计算机的图像处理和视频效应的过程:首先必须把连续的图像函数f(x,y) 进行空间和幅值上的离散化处理。然后再将离散化的数字信息还原为连续的图像。将空间坐标离散化与图像颜色离散化的两者结合叫做图像的数字化,离散化的结果称为数字图像。

  1.采样

  采样(Perceptionmedium)将空间连续坐标(x,y)函数离散化。
  
  采样原理(惠特克—卡切尼柯夫—香农)——对连续图像彩色函数f(x,y),沿x方向以等间隔Δx采样,采样点数为N;沿y方向以等间隔Δy采样,采样点数为N;于是得到一个NxN的离散样本阵列[f(m,n) ]NxN,为了达到最小失真(还原)度,采样密度(间隔Δx与Δy应满足采样频率大于等于二倍的图像变化频率。
  
  采用上述采样定理后,所确定的数字图像的还原失真度最小(仍存在失真)。

  2.量化

  量化(Representationmedium)将图像函数f(x,y) 颜色的离散化。
    对每个离散点(像素)的灰度或颜色样本进行数字化处理。即:在样本幅值的动态范围内进行分层、取整,以正整数表示。用G=2m,表示一幅黑白灰度的图像表示为:
 
级(m) 8 7 6 5 4 3 2 1
灰度级 256 128 64 32 16 8 4 2


  二.颜色的基本概念

  亮度、色调、饱和度


Y亮度:亮度是光作用于人眼所引起的明亮程度的感觉,它与被观察物体的发光强度有关。主要表现光的强和弱。
H色调:色调是当人眼看一种或多种波长的光时所产生的色彩感觉,它反映颜色的种类,是决定颜色的基本特征。
S饱和度:饱和度是指颜色的纯度即掺入白光的程度,表示颜色深浅的程度。
例如:红 + 白光 = 粉红色 饱和度下降
   红 + 另一种颜色的光  

### LAB色彩空间概述 LAB色彩空间是一种基于人类视觉感知设计的颜色模型,旨在提供一种更接近于人眼感受颜色的方式[^1]。在这个模型中,“L”代表亮度(Lightness),而“A”和“B”则表示两个不同的色度通道:“A”从绿色到红色变化;“B”从蓝色至黄色过渡。 这种结构使得LAB能够均匀地分布颜色差异,即在该空间中的距离可以直接反映两种颜色给人类观察者带来的主观区别大小。因此,在图像处理领域特别是涉及颜色校正、匹配以及增强等方面的应用非常广泛[^3]。 ### RGB与LAB之间转换方法 对于从RGB向LAB转变的过程而言,首先需要将输入的红绿蓝数值标准化为0~1范围内的浮点数形式,接着通过一系列矩阵运算将其映射成XYZ坐标系下的对应值,最终再由XYZ转为LAB表达方式: ```python import numpy as np def rgb_to_lab(rgb): # 将RGB值缩放到[0, 1]区间 r, g, b = rgb / 255.0 # 转换为线性光强度 def gamma_correction(value): if value > 0.04045: return ((value + 0.055) / 1.055)**2.4 else: return value / 12.92 r_linear = gamma_correction(r) g_linear = gamma_correction(g) b_linear = gamma_correction(b) # 应用D65白点条件下的RGB到XYZ变换矩阵 matrix = [ [0.4124, 0.3576, 0.1805], [0.2126, 0.7152, 0.0722], [0.0193, 0.1192, 0.9505] ] xyz = np.dot(matrix, [r_linear, g_linear, b_linear]) # 归一化X,Y,Z相对于D65光源的标准白色点(95.047, 100.000, 108.883) x_normalized = xyz[0] * 100 / 95.047 y_normalized = xyz[1] * 100 / 100.000 z_normalized = xyz[2] * 100 / 108.883 # 计算f(t),用于后续计算L,a,b def f(t): epsilon = 216/24389 kappa = 24389/27 if t > epsilon: return pow(t, 1/3) else: return (kappa*t + 16)/116 l = 116*f(y_normalized)-16 a = 500*(f(x_normalized)-f(y_normalized)) b = 200*(f(y_normalized)-f(z_normalized)) return [l, a, b] print(rgb_to_lab([255, 0, 0])) # 输出近似结果:[53.2407, 80.0925, 67.2032] ``` 上述代码实现了基本的RGB到LAB转换逻辑,并给出了一个简单的测试案例来验证其功能正确性。 ### 实际应用场景举例 除了作为理论研究对象外,LAB色彩空间还在多个实际场景中有重要用途。例如,在Photoshop等图形编辑软件里提供了多种基于LAB的工作流程支持,允许用户更加直观有效地调整图片色调平衡、对比度以及其他视觉效果。此外,由于LAB具有良好的数学性质,它也被应用于计算机视觉任务当中,比如目标检测、分割等领域,有助于提高算法性能并减少误差传播的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值