【精品】二维离散小波变换实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
二维离散小波变换实验报告
2008-11-02
1. 实验题目
对图像进行二维离散小波变换, 变换级数大于等于3级,然后统计系数中0的个数(百分比
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示) 并进行重构, 最后计算重构图像的峰值信噪比(PSNR).
数据:灰度图像lena.bmp或其它图像, 滤波器系数可以调用matlab中的wfilters函数获得, wfilters函数的使用请在matlab中help wfilters.
另外,峰值信噪比
计算公式
六西格玛计算公式下载结构力学静力计算公式下载重复性计算公式下载六西格玛计算公式下载年假计算公式
:
MN'2()ff,,,ijij255255,ij11,,PSNRMSE,,10lg,MSEMN,
'{},{}ff1,1,,,,iMjNijij其中,分别表示原始图像和重建图像, 且. 注:实验中,边缘延拓的方法和具体的小波滤波器可以自己根据实验结果进行选择。 2. 实验步骤
1) 生成原始灰度图像作为
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
以便对比。在matlab中导入LENA.bmp, 使用下列命令生成,
结果如图1所示。
imagesc(LENA.cdata, [0,255]); colormap(gray);
图1 原始灰度图像
2) 用matlab小波工具包作出分解合成图,如图2。
第 - 1 - 页
图2 直接使用matlab小波工具箱进行分析
3) 写代码实现DWT正反变换,见附件MyDwt2D.dsw。我在代码中构建了一个CDwt类,
输入为:
@ const char* lpInputImage : 输入图像文件名
@ int nAnalysisLevel : 分析级数,本题要求大于等于3
@ int nThreshold = 0 : 阈值,默认值为0(即不进行阈值化)
公用方法有四个为:
void ForwadDwt(); /* 实现DWT变换 */
void InverseDwt(); /* 实现DWT逆变换 */
void StatisticThenOutput(const char* lpStatisticFile); /* 先统计,然后输出统计信息 */
void OutputInversedImage(const char* lpInversedImageName); /* 输出重构图像数据 */
方法调用顺序为首先调用ForwadDwt,然后调用InverseDwt,最后是类的两个输出。 4) 阈值化前统计各个子块的均值、方差。
5) 设置不同的阈值,对DWT系数进行阈值化,统计阈值化后各个子块的零的百分比、均
值和方差,以及此时的PSNR。
3. 实验结果
1) 各个子块划分图如图3所示,阈值化前各个子块的均值、方差可见表1:
第 - 2 - 页
图3 各个子块划分图
子块 均值 方差
938.552 109020.951 0
-0.827 3118.666 1
0.075 1982.950 2
-1.243 9899.634 3
-0.130 624.530 4
0.095 331.111 5
0.740 1674.639 6
0.069 116.408 7
-0.022 35.601 8
0.163 279.480 9
表1 阈值化前各个子块的均值、方差
2) 设置不同的阈值T,在T=3,T=6,T=10,T=20时,表2给出了各个子块的零的百分比、
均值和方差,以及此时的PSNR。
子块 均值 方差 零的百分比 PSNR
938.552 109020.951 0.000 48.3787dB 0
第 - 3 - 页
-0.826 3118.299 0.131 1
0.101 1982.286 0.238 2
-1.236 9899.461 0.072 3
-0.102 623.740 0.333 4
0.091 330.104 0.472 5
0.726 1674.112 0.205 6
0.126 115.325 0.586 7
-0.016 34.549 0.717 8
0.199 278.562 0.440 9
表2.1 T=3时各个子块的统计结果
子块 均值 方差 零的百分比 PSNR
938.552 109020.951 0.000 0
-0.812 3115.900 0.252 1
0.134 1979.554 0.382 2
-1.271 9898.077 0.136 3
-0.026 620.104 0.527 4
42.4058dB
0.071 327.269 0.630 5
0.796 1671.074 0.360 6
0.149 112.392 0.763 7
-0.038 32.491 0.845 8
0.341 275.276 0.629 9
表2.2 T=6时各个子块的统计结果
子块 均值 方差 零的百分比 PSNR
938.552 109020.951 0.000 0
-0.738 3108.957 0.366 38.4121dB 1
0.165 1972.852 0.493 2
第 - 4 - 页
-1.156 9892.854 0.222 3
0.030 612.285 0.656 4
0.030 321.652 0.723 5
1.119 1662.732 0.490 6
0.131 107.416 0.849 7
-0.030 28.676 0.910 8
0.440 268.362 0.748 9
表2.3 T=10时各个子块的统计结果
子块 均值 方差 零的百分比 PSNR
938.552 109020.951 0.000 0
-0.058 3067.769 0.563 1
-0.282 1945.466 0.624 2
-0.941 9863.797 0.359 3
0.089 584.634 0.789 4
33.5767dB
0.043 299.465 0.833 5
1.733 1629.399 0.644 6
0.169 92.540 0.924 7
0.014 18.655 0.963 8
0.481 244.731 0.866 9
表2.4 T=20时各个子块的统计结果
3) 在T=3,T=6,T=10,T=20,T=100时,阈值化后的重构图像放在MyDwt2D/InversedImage
文件夹中,差异比较细微,记得在某个ppt上曾看到:PSNR > 40dB的重构图像肉眼基本上看不出其与原始图像的差别。但我的主观感受是在T=20,PSNR = 33.5767dB,我还是难以看出差别。
4. 问题讨论:关于图像压缩
本题输入图像为256*256的灰度图像,灰度值为0~255,需要存储为64KB。 各个子块零的均值、方差、百分比共同揭示了子块可压缩的空间,选择恰当的阈值(各
个领域好像都有很多讨论阈值函数的论文),保留适当的高频信息,可大幅压缩图像,只剩
第 - 5 - 页
下一块32*32的低频子块0,但此子块的均值为938.552,方差为109020.951,都很大,要量化定点存储的难度也会比较大,最终所需的存储空间加起来可能还要比64KB还要大,所以并不一定划算。
能想到的办法就是继续增加分析级数(想法可能简单了一点),比如增加到5级,低频子块就变成了8*8的矩阵,相对3级分析降低了16倍,当然,这也要权衡新增子块的零的百分比,综合计算压缩率。
第 - 6 - 页