目录
一、彩色基础
光的特性是彩色科学的核心。如果光为无色的那么属性仅仅只有亮度或数值。灰度级提供了一个亮度的标量度量。彩色光在电磁波谱中的范围是400-700nm,使用辐射、光强和亮度来度量彩色光。辐射是从光源流出能量的总量;光强用流明来度量;亮度是一个主观描述子,不可被度量。
为标准化目的而定的三个特定的原色波长,并不意味着这三个固定的RGB分量单独作用就能产生所有谱。数字显示的基础是三像素组的同等寻址能量。
区别不同颜色使用的是亮度、色调和饱和度,亮度表达了无色的强度;色调是光波混合中与主波长有关的属性;饱和度是相对的纯净度。色调和饱和度在一起称为色度,颜色可以使用其亮度和色度来表示。一种颜色可以用其三色值系数定义,另一种方法是使用CIE色度图。如下:
任何不在边界上而在色度图内部的点都表示谱色的混合色,位于色度图边界上的点都是全饱和的。因为其连接任意两点的直线段定义了所有不同颜色的变化。
二、彩色模型
目的是在某些标准下使用通常可以接受的方式方便的对彩色加以说明,本质上是坐标系统和子空间的说明。总共由RGB(红,绿,蓝)模型、CMY(青,粉红,黄)模型、CMYK(青,粉红,黄,黑)模型和HSI(色调,饱和度,亮度)模型。HSI模型可以解除图像中的颜色和灰度信息的联系,使其适合于使用灰度处理技术。
RGB模型中,灰度沿着连接这两点的直线从黑色延伸到白色,不同颜色是位于立方体上的或立方体内部的点,且由自原点延伸的向量来定义。RGB空间里面,用于表示每个像素的比特数的叫做像素深度。全彩色图像用来表示一幅24比特的RGB图像。目前值得考虑的彩色子系统为稳定RGB色集合或叫做全系统稳定色集合,其在合理且与观察者无关的硬件性能是很重要的,在互联网应用中也叫做稳定Web色或者稳定游览器色。
CMY和CMYK模型主要应用于彩色打印机,可以在内部进行RGB到CMY的转换,即使用全为1的矩阵减去RGB的值即可得到CMY。主要应用于产生硬拷贝输出。因为只使用青,粉红,黄色生成的黑色不纯所以提出了CMYK模型,加入了黑色。
HSI彩色模型是为了解决前面所提到的三种模型不能很好的适应实际上人解释的颜色所提出的,该模型可以在彩色图像中从携带的彩色信息中消去强度分量的影响。形成HSI空间所要求的色调、饱和度和强度值可以由RGB彩色立方体得到,HSI空间可以由一个垂直强度轴和位于与该强度轴垂直的平面内的彩色点的轨迹表示。RGB和HSI之间的彩色转换时逐像素进行的。
三、伪彩色图像处理
指的是基于一种指定的规则对灰度值赋以颜色的处理,伪彩色是为了区分对单色图像赋予彩色的处理和与真彩色图像相关的处理。它的主要应用是人目视观察和解释单幅图像或序列图像中的灰度级事件。
灰度分层(密度分层)和彩色编码技术是伪彩色图像处理最简单的例子。分层方法可以看作是放置一些平行于该图像的坐标平面的平面,然后每个平面在相交的区域中切割图像函数。
灰度到彩色的变换的方法为对任何输入像素的灰度进行3个独立的变换,然后将3个变换结果分别送入彩色电视监视器的红、绿、蓝通道。以平滑的非线性函数为基础的。在多光谱图像处理中,将多幅单色图像组合为一幅彩色合成图像很重要。如下为一个灰度图像转化文彩色图像的实验,使用的是python代码,代码为:
import cv2
import numpy as np
# 读取灰度图像
gray_image = cv2.imread(r'D:\test\huidu.jpg', cv2.IMREAD_GRAYSCALE)
if gray_image is None:
print("Error: Unable to load image.")
else:
colored_image = cv2.applyColorMap(gray_image, cv2.COLORMAP_JET)
cv2.imshow('Origin Image', gray_image)
cv2.resizeWindow('Origin Image', 800, 600)
cv2.imshow('Colored Image', colored_image)
cv2.resizeWindow('Colored Image', 800, 600)
cv2.waitKey(0)
cv2.destroyAllWindows()
其实验结果为:
这个实验使用了opencv的applyColorMap这个函数,它的功能是将灰度图像转换为彩色图像,主要使用的是伪彩色映射方法。
四、全彩色图像处理
1.基础
分为两大类,第一类为分别处理每一幅分量图像,然后由分别处理过的分量图像来形成一幅处理过的合成彩色图像;第二类是直接处理彩色像素。
为了使每种彩色分量处理和基于向量的处理等同,必须满足两个条件。一为处理必须对向量和标量都可用;二为对向量的每一分量的操作对于其他分量必须是独立的。
2.彩色变换
该技术主要是在单一的彩色模型内处理彩色图像的分量。彩色变换的公式为:。像素值是从彩色空间选择的用来表示图像的彩色空间的3元组或4元组。分量变换函数依赖于输入图像的所有彩色分量,不能以单独彩色分量为基础进行变换。
如下图,与色调直接相对的另一端被称为补色。它在增强嵌在彩色图像暗区的细节很有用。
彩色分层是延伸了前面所提到的灰度分层这一概念所提出的,是为了突出图像中某个特定的彩色区域对从其周围分离出目标物很有用。他要求每个像素变换后的彩色分量是所有n个原始像素的彩色分量的函数。最简单的方法之一是把某些感兴趣之外的彩色映射为不突出的无确定性质颜色。
彩色变换可以在多数计算机中使用,当个人计算机变为数字暗室时就可以对图像进行色调调整和彩色校正,其最普通的应用就是在照片增强和颜色再现。L*a*b模型评价变换效果的一个使用最多的模型,它的彩色空间是比色的(与感觉色相匹配的编码相同)、感觉一致的(在各种色调中颜色差别感觉上是一致的)和独立于设备的。标定成像系统允许交互和独立地校正调和色彩的不平衡。
直方图处理变换可以自动的应用于彩色图像,方法是均匀的展开彩色灰度,而保持彩色本身不变。
3.平滑和锐化
彩色图像的平滑主要拓展于灰度级图像平滑,它是一种滤波操作,滤波模板具有相同的值,当模板滑过被平滑的图像时,每个像素被由该模板定义的邻域内的像素的平均值代替。彩色图像平滑与灰度级图像平滑的主要区别在于必须使用分量向量来替代灰度标量值。邻域平均平滑可以在每个彩色平面的基础上执行。
锐化主要是采用拉普拉斯方法来进行的。
4.图像分割
通过HSI空间以彩色为基础分割一幅图像,并且需要在各个平面上进行处理。HSI在空间的工作上很直观但是分割这个领域RGB彩色向量得到的结果会更好。使用RGB进行图像分割的方法为给定一个感兴趣的有代表性彩色的彩色样点集,可以得到希望分割的颜色的平均估计。分割的目的就是将给定图像中的每个RGB像素分类。
边缘检测是图像分割的一个重要的工具,
5.其他
彩色图像的噪声内容在每个彩色通道中具有相同的特性,但噪声对不同的彩色通道所造成的影响不同。不同的噪声水平像是由每个彩色通道的相对照射强度的差异造成的。全彩色图像滤波可以在没一幅图像的基础上或依靠该过程直接在彩色向量空间中执行。
彩色图像的描述所需要的比特数比灰度图像要大上3-4倍,所以由此延伸处理数据压缩,它在存储和传输彩色图像中起着核心的作用。压缩是减小或消除冗余和/或不相干数据的处理。
总结
本章主要是讲解一些彩色图像的基础知识,为后面的各种图像处理奠定基础,方便后面的学习。同时也和前面的灰度级图像处理进行了关系,许多对于彩色图像的处理都是由灰度级图像处理延伸出来的。