采用haar算子对该降噪后的图像进行压缩,并得到压缩后图像的大小和比特数值,并得到图像压缩后的峰值信噪比PSNR值,采用haar压缩函数如下:
- function [XCMP,cfsCMP,dimCFS] = func_compress_dw2d(X)
- % X: 图像矩阵数据
- % XCMP: 压缩后的图像矩阵
- % cfsCMP: 分解向量
- % dimCFS: 对应的数据缓存矩阵
- wname = 'haar'; % haar小波
- level = 2; % 2级小波分解
- % 压缩参数
- sorh = 'h'; % Specified soft or hard thresholding
- thrSettings = 331.750000000000110; % 阈值
- roundFLAG = true;
- % 使用WDENCMP.函数进行压缩
- [coefs,sizes] = wavedec2(X,level,wname);
- [XCMP,cfsCMP,dimCFS] = wdencmp('gbl',coefs,sizes, ...
- wname,level,thrSettings,sorh,1);
- if roundFLAG , XCMP = round(XCMP); end % 取整
- if isequal(class(X),'uint8') , XCMP = uint8(XCMP); end % 数据类型转换
复制代码
|