我正在实现一个将验证签名图像的android应用程序,决定采用离散小波变换方法(symmlet-8),该方法需要应用离散小波变换并使用低通和高通分离图像过滤并检索小波变换系数。
方程式显示我无法理解的符号因此无法轻松完成数学运算,也不知道如何将低通和高通滤波器应用于我的x和y点。
是否有任何教程可以向您展示如何轻松地将离散小波变换应用于我的图像,并将其分解为数字?
提前多多谢谢。
答案 0 :(得分:5)
从高级视角来看,您首先要提取RGB图像的数据(通常会分割3个通道)。然后,对于每个频道,您将图像分成4:
左上角的低通垂直+低通水平
右下角的低通垂直+高通水平
左下角的高通垂直+低通水平
右下角的高通垂直+高通水平
您可以通过2次传递(1个垂直和1个水平)获得此结果。然后迭代几次,将滤镜应用到左上角,以获得最终结果(金字塔)。最后,重新组合颜色通道。
在这里查看代码(您可以忽略RGB< - > YUV颜色转换): http://code.google.com/p/kanzi/source/browse/java/src/kanzi/test/TestDWT2.java
这里是2D小波变换的实现:http://code.google.com/p/kanzi/source/browse/java/src/kanzi/transform/DWT_CDF_9_7.java(二维信号的离散小波变换Cohen-Daubechies-Fauveau 9/7)
转换与您的转换不同(因此实现细节不同,但通用算法适用)。
这应该足以让你入门。