图像之所以能够进行压缩,其数学机理主要有一下两点:
    (1)、原始图像数据往往存在各种信息的冗余(如空间冗余视觉冗余和结构冗余等),数据之间存在相关性,邻近像素的灰度(将其看成随即变量)往往是高度相关的。
 (2)、在多媒体应用领域,人眼作为图像信息的接受端,其视觉对于边缘急剧变化不敏感,以及人眼存在对图像的亮度信息敏感,而对颜色分辨率弱等,因此在高压缩比的情况下,解压缩后的图像信号仍然有满意的主观质量。
   所谓图像压缩就是去除掉冗余,保留重要信息。图像压缩的过程常称为编码,而图像的恢复则称为解码。虽然图像的数据时非常巨大的,但是可以采用适当的坐标变换去除相关,从而达到压缩数据的目的。传统的K.L就是以这种思想为基础的,它把信号的一小块看成是一个独立的随机向量,它的基函数由余弦函数组成。

4.2.2 参数设置
   对图像压缩,本次毕业设计考虑对数字图像进行7层小波分解,并提取小波分解结构中的一层的低频系数和高频系数。
  (1)、调用二文小波分析函数,分别从水平方向、斜线方向、垂直方向提取二文小波分解高频系数,重构第一层系数;
  (2)、调用二文小波单支重构函数,显示第一层频率信息;
  (3)、对图像进行压缩:保留第一层低频信息并对其进行量化编码;
  (4)、量化编码函数,同时改变图像高度并显示。
部分程序代码如下所示:
  [c,l]=wavedec2(X,2,'bior3.7');//用boir3.7小波进行2层小波分解
  //提取小波分解结构中第一层低频系数和高频系数
  cA1=appcoef2(c,l,'bior3.7',1);  cH1=detcoef2('h',c,l,1);
  cD1=detcoef2('d',c,l,1);
  cV1=detcoef2('v',c,l,1);
  //对个频率成分进行重构
  A1=wrcoef2('a',c,l,'bior3.7',1);
  H1=wrcoef2('h',c,l,'bior3.7',1);
  D1=wrcoef2('d',c,l,'bior3.7',1);
  V1=wrcoef2('v',c,l,'bior3.7',1);
  c1=[A1 H1;V1 D1];
  subplot(2,2,2);
  image(c1);
  ca1=wcodemat(cA1,440,'mat',0);
  ca1=0.5*ca1;               //改变图像的高度
  subplot(2,2,3);
  image(ca1);
  colormap(map);
完整运行程序见附录2。
  通过Matlab应用程序仿真显示,压缩前图像的大小:
  Name      Size                    Bytes  Class
  X       256x256                  524288  double array
  Grand total is 65536 elements using 524288 bytes
第一次压缩后图像的大小:
  Name      Size                    Bytes  Class
  ca1     135x135                  145800  double array
  Grand total is 18225 elements using 145800 bytes
第二次压缩后图像大小:
  Name      Size                    Bytes  Class
  ca2      75x75                    45000  double array
上一篇:zigbee无线火灾报警系统设计+源程序+流程图+电路图
下一篇:MATLAB语音识别系统的设计+DTW算法+流程图

自回归模型谱估计方法设计+Matlab源代码

MATLAB舰船电能分配及管理系统设计

Matlab的光栅投影相位校正与展开算法设计

MATLAB数字图像处理的交通信号灯识别系统设计

基于MATLABGUI的粒子滤波算法实现+源代码

基于MATLABGUI的非线性卡尔曼滤波实现

水下激光通信中海水的散射模型及MATLAB仿真

国内外无刷直流电动机研究现状

高校网球场馆运营管理初探【1805字】

多元化刑事简易程序构建探讨【9365字】

《醉青春》导演作品阐述

拉力采集上位机软件开发任务书

谷度酒庄消费者回访调查问卷表

中国古代秘书擅权的发展和恶变

浅谈传统人文精神茬大學...

辩护律师的作证义务和保...

浅谈新形势下妇产科护理...