1、关于彩色图像处理的认识与探究李时铨安徽大学 信息与计算科学2016.5 摘要随着信息技术的发展,彩色图像的应用也更加广泛。与灰度图像相比, 彩色图像携带了更多的可视化信息。彩色图像处理已成为一个重要的研究领域。由于彩色图像中颜色表示的复杂性,本作依照经典 RGB 模型来进行多重灰度图像处理再合成,而现代彩色图像的处理方法早已是无穷无尽,可见彩色信息在数字图像处理中正得到更大的关注。灰度图像中的去噪、退化复原、压缩在经过历史的变革以及有层出不穷的办法应对,但是如何同样的作用于彩色图像,想必是有困难的。一副图有许许多多像素的同时,每个像素还带着自己的色彩。基于 RGB 模型,不难理解,每一幅彩图都
2、是由几张看似灰度的图像叠加形成(基于三原色原理);同时为了色彩更加丰富多变,各种模型体系也崭露头角。想必全彩色图像处理是基于伪彩色图像处理,伪彩色处理试图将灰度分层,而全彩色处理试图将色彩分层,给予灰度图一样的“待遇”,完成各项操作之后合成回原来的色彩。同时也不难理解,彩色图像的像素点,是一个个向量,这对未来直接处理彩色图像有着莫大的帮助与延伸。关键词: 彩色图像均值滤波去噪Lucy Richardson 图像复原图像 DCT 变换与反变换IAbstractWith the development of information technology, the application of co
3、lor image is also more widely. Compared with the gray image, color images carry more visual information.Color image processing has become an important area of research.Because of the complexity of the color in the color image said, according to the classical RGB model to make a multiple gray image p
4、rocessing and synthesis,however,he modern color image processing method is endless, visible color information in digital image processing is of greater concern.In the gray image noise reduction, degradation of recovery and compression after historical change and there are endless way to deal with, b
5、ut how also applied to color images, most presumably is difficult.There are many, many pixels of a figure at the same time, each pixel with its own color.Based on the RGB model, it is easy to understand, every color image is formed by some seemingly gray-scale image overlay; At the same time in orde
6、r to more colorful and changeable, all sorts of model system is emerging.Must have full color image processing is based on pseudo color image processing, and pseudo color processing to gray-scale stratification, and full color processing to color layer, giving the “treatment“, like the gray-scale co
7、mplete synthesis of back to the original color after the operations.It is not difficult to understand at the same time, color image pixels, is a vector, this directly with color images for the future with a great deal of help and extension.Key Words: Color image processingNoise reduction with averag
8、e filteringImage restoration by Lucy RichardsonImage DCT transform and inverse transform0目 录【 摘要】 -I【 Abstract】 -II1 彩色图像概论 -11.1 RGB 彩色模型 -11.2 HSI 彩色模型 -11.3 伪彩色与全彩色处理 -22 彩色图像去噪实现 -32.1 图像去噪典型算法 -32.2 matlab 实现彩色图像去噪 -43 彩色图像复原实现 -53.1 图像复原相关算法 -53.2 matlab 实现彩色图像复原 -64 彩色图像压缩实现 -74.1 图像压缩算法 -74.
9、2 matlab 实现彩色图像压缩 -8【参考文献】 -1211 彩色图像概论1.1 RGB 彩色模型根据三基色原理,用基色光单位来表示光的量,则在 RGB 彩色模型中, 任意色光 F 都可以用 R、G 、B 三色不同分量的相加混合而成:F = rR + gG + bB自然界中任何一种色光都可由 R、G、B 三基色按不同的比例相加混合而成, 当三基色分量都为 0 (最弱 )时混合为黑色光;当三基色分量都为 1 (最强)时混合为白色光。任意一种颜色 F 是这个立方体中的一个点,R、G、B 中的任意一个系数的改变都会改变 F 的坐标值,也意味着改变了 F 的色值。1.2 HSI 彩色模型HSI 彩
10、色模型从人的视觉系统出发,用 H 代表色相(Hue)、用 S 代表饱和度(Saturation)和 I 代表亮度(Intensity) 来描述色彩。由于人的视觉对亮度的敏感程度远强于对颜色浓淡的敏感程度,为了便于色彩处理和识别,人的视觉系统经常采用 HSI 色彩空间, 它比 RGB 色彩空间更符合人的视觉特性。在图像处理和计算机视觉中大量算法都可在 HSI 色彩空间中方便地使用,它们可以分开处理而且是相互独立的。因此,HSI 色彩空间可以大大简化图像分析和处理的工作量。色相(Hue):指物体传导或反射的波长。更常见的是以颜色如蓝色、黄色或紫色来辨识,取 0 到 360 度的数值来衡量。饱和度(
11、Saturation): 又称色度,是指色彩的强度或纯度。饱和度代表灰色与色调的比例 ,并以 0% (灰色) 到 100% (完全饱和) 来衡量。2亮度(Intensity):是指颜色的相对明暗度,通常以 0% (黑色)到 100% (白色) 的百分比来衡量。1.3 伪彩色与全彩色处理伪彩色处理是基于一种指定的规则对灰度值赋以颜色的处理。灰度图像多数是 8 位位深,256 级灰度,人眼对此尚有较高的分辨力,但对于某些特殊领域灰度级更高的一些专用灰度图像,尤其在图像像素灰度相差不大的情况下, 人眼分辨能力大为减弱,远不如彩色图像。所以,有必要把一些灰度图像转换成彩色图像,同时使得彩色图像的颜色对
12、应于不同的灰度,只要灰度有差别,色彩即有差别。同样的,究竟如何处理彩色图像?全彩色图像处理方法分为两种。第一类是分别处理每一幅分量图像,这与伪彩色处理运用了类似的方法,分别处理然后再合成。第二类是直接处理彩色像素。全彩色图像至少有 3 个分量,所以彩色像素,实际上是向量。伪彩色处理中有灰度分层,同样的全彩色处理中有彩色分层,因此伪彩色处理对全彩色处理的启发是相当大的,本次的实验操作也将在处理灰度图像的操作上进行提升与修改。32 彩色图像去噪实现2.1 图像去噪典型算法图像信号在产生、传输过程中都可能会受到噪声的污染,一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐
13、噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等;目前比较经典的图像去噪算法主要有以下三种:均值滤波算法:也称线性滤波,主要思想为邻域平均法,即用几个像素灰度的平均值来代替每个像素的灰度。有效抑制加性噪声,但容易引起图像模糊,可以对其进行改进,主要避开对景物边缘的平滑处理。中值滤波:基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像
14、进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。Wiener 维纳滤波:使原始图像和其恢复图像之间的均方误差最小的复原方法,是一种自适应滤波器,根据局部方差来调整滤波器效果。对于去除高斯噪声效果明显。42.2 matlab 实现彩色图像去噪思路:分成 RGB 三个图分开降噪完再合成。代码如下: f=imread(PeppersRGB.bmp); J=imnoise(f,gaussian,0,0.02); %加高斯噪声 Jr=J(:,:,1); Jg=J(:,:,2); Jb=J(:,:,3); %提出 3 个分矩阵 rgb k1=floor(
15、3/2)+1;k2=floor(3/2)+1;X=Jr;M,N=size(X);uint8 Y=zeros(M,N);funBox=zeros(3,3);for i=1:M-3for j=1:N-3funBox=X(i:i+3,j:j+3);s=sum(funBox(:);h=s/9;Y(i+k1,j+k2)=h;end;end;Y=Y/255; %均值滤波器 移动平均法Yr=Y; %将滤 波后的 Jr图存 进 Yr k1=floor(3/2)+1;k2=floor(3/2)+1;X=Jg;M,N=size(X);uint8 Y=zeros(M,N);funBox=zeros(3,3);for
16、 i=1:M-3for j=1:N-3funBox=X(i:i+3,j:j+3);s=sum(funBox(:);h=s/9;Y(i+k1,j+k2)=h;end;end;Y=Y/255;Yg=Y; %同理 将 Jg 用移动平均法算一遍 k1=floor(3/2)+1;k2=floor(3/2)+1;X=Jb;M,N=size(X);uint8 Y=zeros(M,N);funBox=zeros(3,3);for i=1:M-3for j=1:N-3funBox=X(i:i+3,j:j+3);s=sum(funBox(:);h=s/9;Y(i+k1,j+k2)=h;end;5end;Y=Y/2
17、55;Yb=Y; K(:,:,1)=Yr; K(:,:,2)=Yg; K(:,:,3)=Yb; %将 3 个分矩 阵再次合成对比图如下:3 彩色图像复原实现3.1 图像复原相关算法图像复原是图像处理中的一个重要问题,对于改善图像质量具有重要的意义。解决该问题的关键是对图像的退化过程建立相应的数学模型,然后通过求解该逆问题获得图像的复原模型并对原始图像进行合理估计。图像退化的典型表现是图像出现模糊、失真,出现附加噪声等。早期的复原方法有:非邻域滤波法,最近邻域滤波法以及效果较好的维纳滤波和最小二乘滤波等。维纳滤波法是由 Wiener 首先提出的,应用于一维信号处理,取得了很好的效果。之后,维纳滤
18、波法被用于二维信号处理,也取得了不错的效果,尤其在图像复原领域,由于维纳滤波计算量小,复原效果好,从而得到了广泛的应用和发展。6Lucy-Richardson 算法是一种迭代非线性复原算法,它是从最大似然公式印出来的,图像用泊松分布加以模型化的。该算法考虑到了物体的先验信息,无需模糊图像的噪声信息,适用于线性和非线性成像模型,解具有唯一性。在 MATLAB 中,L-R 算法附加了一些改进,可以在多次迭代过于逼近噪声易产生错误信息斑点的情况下,使用参数来控制收敛次数,使每次过程中结果图像和原始图像的每个相应局部的背离程度的灰度值在阈值内。3.2 matlab 实现彩色图像复原代码如下: j=im
19、read(C:UsersAdministratorDesktoplena.jpg); subplot(131); imshow(j); title(原图像); len=20; theta=30; psf=fspecial(motion,len,theta); j1=imfilter(j,psf,circular,conv); subplot(132); imshow(j1); title(PSF 模糊图像); lucy=deconvlucy(j1,psf); subplot(133),imshow(lucy); title( Lucy richardson图像复原);L-R 算法假设图像服从
20、Possion 分布,采用最大似然估计进行估算,其迭代方程为 :7),(),(*),(g,),(1 yxhfyxhfyxfnn 【函数】deconvlucy【源代码】J = DECONVLUCY(I,PSF) deconvolves image I using Lucy-Richardson algorithm, returning deblurred image J. The assumption is that the image I was created by convolving a true image with a point-spread function PSF and po
21、ssibly by adding noise. J = DECONVLUCY(I,PSF,NUMIT) J = DECONVLUCY(I,PSF,NUMIT,DAMPAR) J = DECONVLUCY(I,PSF,NUMIT,DAMPAR,WEIGHT) J = DECONVLUCY(I,PSF,NUMIT,DAMPAR,WEIGHT,READOUT) J = DECONVLUCY(I,PSF,NUMIT,DAMPAR,WEIGHT,READOUT,SUBSMPL), where4 彩色图像压缩实现4.1 图像压缩算法图像压缩的目的在于以较少的数据来表示图像以节约存储费用,或者传输时间和费用
22、。在不影响或者少影响图像质量的前提下,尽量设法减少图像数据的数据量。首要任务就是去掉各种冗余数据。哈夫曼树即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。在计算机信息处理中,“哈夫曼编码”是一种一致性编码法,又称“熵编码法“,用于数据的无损耗压缩。算术压缩和霍夫曼编码压缩方法类似,只不过比霍夫曼编码更加有效。算术压缩适合于相同的重复序列组成的文件,算术压缩接近压缩理论的理论极限。这种方法是将不同的序列映像到 0 至 1 之间的区域内,该区域表示成可变精度(位数)的二进制小数,越不常见的数据要求精度越高,这种方法比较复杂,因而不太常用。8变换编码进行编码时,首先将图像划分成规定大小的
23、像块,一个 n*n 的像块由相邻的n 行,每行 n 个相邻的像素组成,划分像块的工作用存储器很易实现。然后将一个像块的2n 个样值同时由存储器取出,进行正交变换。经过反变换重新得到 2n 个空间域的图像样值(但是含有量化误差),再将由此得到的解码像块拼接成重建图像。4.2 matlab 实现彩色图像压缩代码如下: X=imread(PeppersRGB.bmp); I=X(:,:,1); I= im2double(I); T=dctmtx(8); %离散余弦 变换矩阵 B=blkproc(I,8 8,P1*x*P2,T,T); mask=1 1 1 1 0 0 0 0 1 1 1 0 0 0
24、0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0; B2=blkproc(B,8 8,P1.*x,mask); %数据压缩,丢弃右下角高 频数据 Yr=blkproc(B2,8 8,P1*x*P2,T,T); %进行 DCT 反变换,得到压缩后的图像 subplot(1,2,1); imshow(I);title( 原 red层) subplot(1,2,2); imshow(Yr);title( 压缩后的 red层);9同样的循环操作第二第三次
25、 I=X(:,:,2); I= im2double(I); B=blkproc(I,8 8,P1*x*P2,T,T); B2=blkproc(B,8 8,P1.*x,mask); Yg=blkproc(B2,8 8,P1*x*P2,T,T); subplot(1,2,1); imshow(I);title( 原 green层) subplot(1,2,2); imshow(Yr);title( 压缩后的 green层 ); I=X(:,:,3); I= im2double(I); B=blkproc(I,8 8,P1*x*P2,T,T); B2=blkproc(B,8 8,P1.*x,mask
26、); Yb=blkproc(B2,8 8,P1*x*P2,T,T); subplot(1,2,1); imshow(I);title( 原 blue层) subplot(1,2,2); imshow(Yb);title( 压缩后的 blue层 ); K(:,:,1)=Yr; K(:,:,2)=Yg; K(:,:,3)=Yb; subplot(1,2,1); imshow(X);title( 原图) subplot(1,2,2); imshow(K);title( 分别压缩后合成)10像素点无变化 我们来看看文件容量大小可见,DCT 变化反变化对图像质量保留较高,纯压缩并不是很有效。11【参考文献】1.阮秋琦 阮宇智 等译. 数字图像处理(第三版). 电子工业出版社, 2011.62.韩晓微. 彩色图像处理关键技术研究. 东北大学, 20053.均值滤波、中值滤波的 matlab 实现. timidsmile 的 blog, 2011.104.郭奕松,刘泽昕,徐伯庆. 一种 Lucy-Richardson 算法和小波变换结合的图像复原算法. 光学仪器, 2012, 34(6):26-305.朱延俊. 常用图像去模糊算法分析与对比. 西安电子科技大学, 2013.66.朱剑英. 基于 DCT 变换的图像编码方法研究. 南京理工大学, 2014.1