最近比较忙,但是在网上无意中看到一篇哈尔小波的文章,觉得浅显易懂,就将其摘录下来,原文链接:
https://blog.csdn.net/u014744118/article/details/50435542blog.csdn.net以下为文章摘录:
首先说一下一维haar小波的原理。
例如我们有一个一维的图像[2,4,6,8,10,12,14,16].
求均值:我们求相邻像素的均值[3,7,11,15]。这个新的图像分辨率就成了原来的一半(8/2=4)。
求差值。上面的均值我们存储了图像的整体信息。但是很多细节信息我们丢掉了,所以我们同时要记录图像的细节信息,这样在重构时能够恢复图像的全部信息。下面是求第m个差值的公式:
b[m]=(a[2m]−a[2m+1])/2b[m]=(a[2m]−a[2m+1])/2
经过计算我们得到了结果[-1,-1,-1,-1]。这个新的分辨率也成了原来的一半(8/2=4)。
3. 此时上面两步形成了第一次分解的结果[3,7,11,15,-1,-1,-1,-1]。包含了图像的整体信息和细节信息。接下来的分解我们重复1,2步,将整体信息再次进行分解,得到了二级分解结果[5,13,-2,-2].同样的,前面的[5,13]是整体信息,后面的[-2,-2]是细节信息。
节系数,这个就是一维小波变换。
对于二维haar小波,我们通常一次分解形成了整体图像,水平细节,垂直细节,对角细节。首先我们按照一维haar小波分解的原理,按照行顺序对行进行处理,然后按照列顺序对行处理结果进行同样的处理。最后形成了如下的形式。
备注:
二维haar小波用处很大,SURF就是基于haar小波的响应来计算特征的。
另外一篇文章讲的比较详细:
哈尔小波变换的原理及其实现(Haar)www.360doc.com