如何在图像上应用离散小波变换

发布于 2025-01-06 21:56:39 字数 229 浏览 0 评论 0原文

我正在实现一个将验证签名图像的android应用程序,决定使用离散小波变换方法(symmlet-8),该方法需要应用离散小波变换并使用低通和高通滤波器分离图像并检索小波变换系数。

这些方程显示了我无法理解的符号,因此无法轻松进行数学计算,也不知道如何对我的 x 和 y 点应用低通和高通滤波器。

有没有任何教程可以向您展示如何轻松地将离散小波变换应用于我的图像,并将其分解为数字?

预先非常感谢。

I am implementing an android application that will verify signature images , decided to go with the Discrete wavelet transform method (symmlet-8) the method requires to apply the discrete wavelet transform and separate the image using low-pass and high-pass filter and retrieve the wavelet transform coefficients.

the equations show notations that I cant understand thus can't do the math easily , also didn't know how to apply low-pass and high-pass filters to my x and y points.

is there any tutorial that shows you how to apply the discrete wavelet transform to my image easily that breaks it out in numbers?

thanks alot in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我早已燃尽 2025-01-13 21:56:39

从高层次的角度来看,您首先提取 RGB 图像的数据(通常分为 3 个通道)。然后,对于每个通道,将图像分为 4 个:

左上角的低通垂直 + 左上角的低通水平

低通垂直 + 右上角的高通水平

高通垂直 + 左下角的低通水平

高右下角的 Pass Vertical+High Pass Horizo​​ntal

您可以通过执行 2 次通过(1 次垂直和 1 次水平)来获得此结果。然后迭代几次,将过滤器应用到左上角,以获得最终结果(金字塔)。最后,重新组合颜色通道。

看一下这里的代码(可以忽略RGB<->YUV颜色变换):
http://code.google.com /p/kanzi/source/browse/java/src/kanzi/test/TestDWT2.java

这里是二维小波变换的实现:http://code.google.com/p /kanzi/source/browse/java/src/kanzi/transform/DWT_CDF_9_7.java(离散小波变换 Cohen-Daubechies-Fauveau 9/7 2D 信号)

变换与您的变换不同(因此实现细节不同,但通用算法适用)。

这应该足以帮助您入门。

From a high level view point, you first extract the data of your RGB image (typically splitting the 3 channels). Then, for each channel, you split your image into 4:

Low Pass Vertical+Low Pass Horizontal in the top left corner

Low Pass Vertical+High Pass Horizontal in the top right corner

High Pass Vertical+Low Pass Horizontal in the lower left corner

High Pass Vertical+High Pass Horizontal in the lower right corner

You can obtain this result by doing 2 passes (1 vertical and 1 horizontal). Then you iterate several times, applying the filter to the top left corner, to obtain the final result (pyramid). Finally, you re-combine the color channels.

Take a look at the code here (you can ignore the RGB<->YUV color transform):
http://code.google.com/p/kanzi/source/browse/java/src/kanzi/test/TestDWT2.java

and here for the implementation of the 2D Wavelet transform: http://code.google.com/p/kanzi/source/browse/java/src/kanzi/transform/DWT_CDF_9_7.java (Discrete Wavelet Transform Cohen-Daubechies-Fauveau 9/7 for 2D signals)

The transform is different from yours (so the implementation details differ, but the general algorithm applies).

That should be enough info to get you started.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文