图像视频处理基础知识总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
彩色图像基础知识普及篇
⑴图像采集的原理
数码相机,摄像机等都是通过传感器来获取图像的,传感器阵列是由横竖两个方向密集排列的感光元件(CCD或CMOS)组成的一个二维矩阵,它收集入射能量并把它聚焦到一个图像平面上,与焦点面相重合的传感器阵列产生与每一个传感器接收光总量成正比的输出。数字或模拟电路扫描这些输出,并把它们转换为信号,由成像系统的其他部分数字化。
⑵BAYER矩阵
传感器阵列的排列方式可以有很多种,现在最常用的是Bayer矩阵模式的排列方式,即每个CCD就对应一个像素。其中R感应红光、G感应绿光、B感应蓝光,而在Bayer模式中G是R和B的两倍(因为我们的眼睛对绿色更敏感)。以下是Bayer阵列的一种排列方式:
RGRGRGRGRG
GBGBGBGBGB
RGRGRGRGRG
以中心绿色的G为例,此像素只有G,缺少R与B,R就等于上下两个R的平均值,B就等于左右两个B的平均值。其他的R与B都是一样的,每个像素补齐RGB三色就可以。此种插值算法是最简单最高效的,当然在一些图像的边界之处其影像效果最会有一些折扣。
⑶伽马校正
数码相机拍摄出的彩色图像,以及我们把一幅图像在显示器上显示出来都要进行相应的伽马校正。数码RAW格式的拍摄是采用线性的gamma (即gamma 1.0),可是人的眼睛对光的感应曲线却是一“非线性”的曲线。所以RAW Converter会在转换时都会应用一条Gamma曲线到Raw数据上(简单的理解,就是相当于对原始数据进行一个f(x)的变换,并且注意,f(x)并不是一次的线性函数),来产生更加接近人眼感应的色调。同理,显示器的强度(Intensity)并非与输入讯号成正比(非线性关系),这种非线性特性称为Gamma特性。
各参数简述如下:
①Image_gamma:为输入影像的γ值,一般订为γNTSC=2.2,γPAL=2.8,γRGB=1,γMAC=1.8;
②Display_gamma:因制造技术的关系,每一制造厂生产出来的显示器γ值都会不一样,
所以制造厂需提供显示器γ值,一般订为γCRT=2.5,γLCD=1.6;
③Viewing_gamma:为最后我们用眼睛去看的结果,理想状况为1,即为看到的影像为原
始影像,一般会因外在环境的影响,γ值从1至1.5变化。
④LUT_gamma:伽马参数的LUT表。
输入讯号经γ修正器与显示器后,最后希望看到的是与原输入影像一样的画面,即没有失真。
⑷RGB和YUV图像
在计算机中使用最多的RGB 颜色空间,分别对应红、绿、蓝三种颜色;通过调配三个分量的比例来组成各种颜色。一般可以使用 1 、2 、4 、8 、16 、24 、32 位来存储这三颜色,不过现在一个分量最大是用8 位来表示,最大值是255 ,对于32 位的颜色,高8 位是用来表示透明度的。彩色图一般指16 位以上的图。灰度图有一个特殊之处就是组成颜色的三个分量相等;而一般灰度图是8 位以下。
在彩色电视机系统中,通常使用一种叫YUV 的颜色空间,其中Y 表示亮度信号,也就是这个YUV 空间解决了彩色电视机和黑白电视机的兼容问题。对于人眼来说,亮度信号是最敏感的,如果将彩色图像转换为灰度图像,仅仅需要转换保存亮度信号就可以。
从RGB 到YUV 空间的Y 转换公式为:
Y = 0.299R+0.587G+0.114B
在WINDOWS 中,表示16 位以上的图和以下的图有点不同;16 位以下的图使用一个调色板来表示选择具体的颜色,调色板的每个单元是 4 个字节,其中一个透明度;而具体的像素值存储的是索引,分别是 1 、2 、4 、8 位。
16 位以上的图直接使用像素表示颜色。
⑸彩色图转换为灰度图
灰度图(GrayScale)是指只含亮度信息,不含色彩信息的图像。灰度化处理是把含有亮度和色彩的彩色图像变换成灰度图像的过程。灰度化处理在许多图像处理中是很重要的一步,他的结果就是后续处理的基础。所以,寻求一种正确
有效的灰度化处理方法尤其重要。
那么如何将彩色图转换为灰度图呢?
常用的色彩系统有RGB、YIQ、YUV。
1)YIQ色彩系统属于NTSC电视广播制式系统。Y是亮度,即图像的灰度值,I和Q则是指色调。它与RGB的关系为:
2)YUV属于PAL电视广播制式系统。Y也是亮度,U和V也是色调。它与RGB的关系为:
灰度图中有调色板,首先需要确定调色板的具体颜色取值。我们前面提到了,灰度图的三个分量相等。当转换为8 位的时候,调色板中有256 个颜色,每个正好从0 到255 个,三个分量都相等。当转换为 4 位的时候,调色板中16 个颜色,等间隔平分255 个颜色值,三个分量都相等。当转换为 2 位的时候,调色板中4 个颜色,等间隔平分255 个颜色,三个分量相等。当转换为 1 位的时候,调色板中两个颜色,是0 和255 ,表示黑和白。
将彩色转换为灰度时候,按照公式计算出对应的值,该值实际上是亮度的级别;亮度从0 到255 ;由于不同的位有不同的亮度级别,所以Y 的具体取值如下:
Y = Y/ (1<<(8- 转换的位数));
最后一点需要注意,得到Y 值存放方式是不同的;分别用对应的位数来存储对应的Y 值。在计算Y 值的时候,使用的整数除法,这是有误差的,为了消除误差,需要采用误差扩散的算法,也就是将该误差值向其邻近的像素点扩散,当然按照一定的比例来分配;例如:整除之后,余数是 5 ,采用3/2/3 的策略,就是,右边像素和正下面的像素各占3/8 ,而右下角的像素占2/8 。
2.图像格式转换的算法描述
⑴BAYER矩阵转换为RGB格式图像的算法描述
我们通常采用插值算法(Interpolation)把BAYER矩阵中的像素的颜色值转换为一个像素的RGB的数值。我们通常以3×3的插值算法来计算BAYER矩阵的像素的RGB值,该插值算法中某个位置像素的RGB分量的值只取决于以该像素为中心的3×3的邻域中同样分量的均值。
⑵RGB格式图像转换为灰度图像的算法描述
我们进行图像处理通常都是在微机上进行的,因此以微机的Windows系统