RGB图像分解与重构
- 格式:doc
- 大小:309.89 KB
- 文档页数:8
RGB图像的小波分解与重构在图像压缩中的应用 ** 摘要:利用MATLAB的小波工具箱实现了对真彩图像的分解与重构,通过探究不同尺度下高低频分量对于RGB图像的影响来选择适当简易的方法将真彩图像进行适当的压缩,采用这种方法压缩后的图像压缩比高、压缩速度快,压缩后能保持信号与图像的特征基本不变,且在传递过程中可以抗干扰。 关键词: 小波分解;分解重构;高低频分量;图像压缩
The application of RGB image's decomposition and reconstruction in image compression ** Using MATLAB wavelet toolbox is the way to achieve the image's decomposition and reconstruction. In order to select appropriate and easy way to compress a true color ,exploring the high-low-frequency component of the RGB image at different scales is a very important step to go through. Using this method referred above, it's obvious that the image's compression ratio is high , the compression speed is rather fast ,the compressed signal as well as the characteristics of the image can be maintained substantially constant,at the same time, in the process of transmission,the handled image shows a very good characteristic of antijamming.
Keywords: Wavelet decomposition decomposition and reconstruction High and low frequency components image compression
引 言 小波变换是一种信号的时间——尺度分析方法,它继承和发展了短时傅立叶变换局部化的思想,具有多分辨率分析的特点,在时频两域都具有表征信号局部特征的能力,同时又克服了窗口大小不随频率变化等缺点,是一种窗口大小固定不变但其形状可变,时间窗和频率窗都可变的时频局部化分析方法。即再低频部分具有较高的频率分辨率和时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率,很适合探测正常信号中夹带的瞬态反常现象并展示其成分。 小波分析就是把信号分解成低频al和高频dl两部分,在分解中,低频al中失去的信息由高频dl捕获。在下一层的分解中,又将al分解成低频a2和高频d2两部分,低频a2中失去的信息由高频d2捕获,如此类推下去,可以进行更深层次的分解。其中,二维小波函数是通过一维小波函数经过张量积变换得到的,二维小波函数分解是把尺度j的低频部分分解成四部分:尺度j+1的低频部分和三个方向(水平、垂直、斜线)的高频部分。 它的主要特点是通过变换能够充分突出问题某些方面的特征,通过小波分解将图片的信息分层提取,重组后信息的丢失很少,重组时也能够将各分层的信息组合,也能实现重组后图像的伸缩(包括水平、垂直和对角方向)变换。对于图像来说,如果需要进行快速或实时传输以及大量存储,就需要对图像数据进行压缩。在同样的通信容量下,如果图像数据压缩后在传输,就可以传输更多的图像信息。
一、算法及算法原理: 尺度函数和小波的两尺度方程: kkkxpx)2()(
kkkxqx)2()(
从而: kkkzqzQ21)(
kkkzpzP21)(
)()()()()(zQzQzPzP
zM
如果)(zM对于所有1z可逆,则有:
)()()()()(1zHzHzGzG
zMT
由)(zG、)(zH可以求得kg、kh,从而得到Mal-lat快速算法。 多分辨率分析: 分解过程:
重构过程: 用公式可以表示为: 分解过程: llknlnkcac,12,
llknlnkcbd,12,
其中:nnga21,nnhb21,
cN-M cN-M+1 cN-1 cN … dN-M dN-M+1 dN-1 cN cN- 1 cN-2 cN-M … dN- 1 dN-2 dN-M 以直接生成原图像。称为小波系数,由其可nkc,
lnknkxcxf)()(
,,
nknkfc,,, 重构过程:
llklnlklnnkdqcpc,2,2,1
处理图像所用的函数: wavedec2函数: 1.功能:实现图像(即二维信号)的多层分解,多层,即多尺度. 2.格式: [c,s]=wavedec2(X,N,Lo_D,Hi_D) 3.参数说明:对图像X用wname小波基函数实现N层分解, 函数的输出为c,s.其中c为各层分解系数,s为各层分解系数长度,也就是大小. 相应地wrcoef函数则是实现二维小波系数的单支重构,"a"指的是重构系数为低频。
关于Matlab的说明: 本次软件运行环境是:Matlab 2009a,根据图像数据矩阵解释方法的不同,MATLAB把处理的图像分为三类:变址图像、灰度图像和真彩图像。真彩色是指在组成一幅彩色图像的每个像素值中,有R,G,B三个基色分量,每个基色分量直接决定显示设备的基色强度,这样产生的彩色称为真彩色。 MATLAB中真彩图像存放的不同数据类型按数据精度分为双精度(double)和整数类(Unit8或Unit16)。当数据精度为double时图像矩阵X的数组大小为(m×n)×3,元素取值为[0,1]间的线性量化浮点数,直接决定色彩的强度,所需内存为64×(m×n)×3;像素pij的颜色有以下三色合成:X(i,j,1)决定红色强度,X(i,j,2)决定绿色强度,X(i,j,3)决定蓝色强度。
二、小波分解、高低频分量影响探究: 作图结果如下: 像素490*368
像素748*562 三、探究总结: 1、图像被分解的尺度越高,清晰度越差。 2、低频反映的是图像的基本轮廓,而高频只是细节。 3、图像的像素越大,对多尺度分解具有相当大的阻抗作用。高分辨率图像的清晰度随着分解尺度的加大,图像失真效果不明显。
四、重构和分解程序程序: clc;clear all; X0=imread('d:\yangzhong.jpg'); X=rgb2gray(X0); [c,s]=wavedec2(X,4,'sym5'); a1=wrcoef2('a',c,s,'sym5',1);a2=wrcoef2('a',c,s,'sym5',2); a3=wrcoef2('a',c,s,'sym5',3);a4=wrcoef2('a',c,s,'sym5',4); subplot(4,2,1);image(a1);title('1尺度低频');box off;axis off; subplot(4,2,2);image(a2);title('2尺度低频');box off;axis off; subplot(4,2,3);image(a3);title('3尺度低频');box off;axis off; subplot(4,2,4);image(a4);title('4尺度低频');box off;axis off; %重构尺度为1时的高频各分量 hd1=wrcoef2('h',c,s,'sym5',1); %重构尺度为1时的水平上的高平分量 vd1=wrcoef2('v',c,s,'sym5',1); %重构尺度为1时的垂直上的高平分量 dd1=wrcoef2('d',c,s,'sym5',1); %重构尺度为1时的对角上的高平分量 %重构尺度为2时的高频各分量 hd2=wrcoef2('h',c,s,'sym5',2); %重构尺度为2时的水平上的高平分量 vd2=wrcoef2('v',c,s,'sym5',2); %重构尺度为2时的垂直上的高平分量 dd2=wrcoef2('d',c,s,'sym5',2); %重构尺度为2时的对角上的高平分量 %重构尺度为3时的高频各分量 hd3=wrcoef2('h',c,s,'sym5',3); %重构尺度为3时的水平上的高平分量 vd3=wrcoef2('v',c,s,'sym5',3); %重构尺度为3时的垂直上的高平分量 dd3=wrcoef2('d',c,s,'sym5',3); %重构尺度为3时的对角上的高平分量 %重构尺度为4时的高频各分量 hd4=wrcoef2('h',c,s,'sym5',4); %重构尺度为4时的水平上的高平分量 vd4=wrcoef2('v',c,s,'sym5',4); %重构尺度为4时的垂直上的高平分量 dd4=wrcoef2('d',c,s,'sym5',4); %重构尺度为4时的对角上的高平分量 %画出尺度为4时的高频各分量的图像 subplot(4,2,5);imshow(X0);title('原始RGB图像');box off;axis off;