兹于2017年12月,应《多媒体技术基础》课程实验的要求,本人就基于二维哈尔小波变换算法做了较为深入的理解,用MATLAB和C++语言实现二维哈尔小波变换算法。
二维哈尔小波变换算法
一、实验目的
掌握小波及小波变换相关算法。
二、实验设备与环境
Windows 7,MATLAB,DEV C++
三、实验内容、程序清单及运行结果
实验要求
根据课本内容,实现图像小波变换算法。
具体可参考《多媒体技术基础(第三版)》,可以在这里下载PDF电子书
小波与小波变换算法概述
小波是定义在有限间隔而且其平均值为零的一种函数。
小波变换算法求有限信号的均值和差值:
例如:假设有一幅分辨率只有4个像素p0、p1、p2、p3 的一维图像,对应的像素值或者叫做图像位置的系数分别为:
[ 9 7 3 5 ]
计算它的哈尔小波变换系数。
计算步骤如下:
步骤1:求均值(averaging)。计算相邻像素对的平均值,得到一幅分辨率比较低的新图像,它的像素数目变成了2个,即新的图像的分辨率是原来的1/2,相应的像素值为:
[ 8 4 ]
步骤2:求差值(differencing)。很明显,用2个像系表示这幅图像时,图像的信息已经部分丢失。为了能够从由2个像素组成的图像重构出由4个像素组成的原始图像,就需变存储一些图像的细节系数(detail coefficient),以便在重构时找回丢失的信息。方法是把像素对的第一个像素值减去这个像索对的平均值.或者使用这个像素对的差值除以2。在这个例子中,第一个细节系数是(9-8)=1,因为计算得到的平均值是8,它比9小1面比7大1,存储这个细节系数就可以恢复原始图像的前两个像素值。使用同样的方法,第二个细节系数是(3-4)=-1,存储这个细节系数就可以恢复后2个像素值。因此,原始图像就可以用下面的两个平均值和两个细节系数表示ÿ