2d haar dwt 如何处理其中一个维度或两个维度都不是偶数长度的图像。例如图像 511x511 像素呢?
如果维度是偶数,那么它是直截了当的。从 512x512 像素我们得到 4 个 256x256 像素的子带。Inverse 2d haar dwt 将返回 512x512 像素的图像。
它如何处理非偶数维度?
2d haar dwt 如何处理其中一个维度或两个维度都不是偶数长度的图像。例如图像 511x511 像素呢?
如果维度是偶数,那么它是直截了当的。从 512x512 像素我们得到 4 个 256x256 像素的子带。Inverse 2d haar dwt 将返回 512x512 像素的图像。
它如何处理非偶数维度?
我有一个类似的问题,似乎有两种解决方案。
一种是在除以二时简单地让数据大小四舍五入。例如。经典变换将从 8 开始,对数据大小 8、4、2 起作用。通过向下舍入,从 13 开始,它将变为:14、8、4、2 而不是 13(错误)、7(错误)等.
我刚刚找到的另一种方法是:
http://people.sc.fsu.edu/~jburkardt/c_src/haar/haar.html
这有效地将数据填充到最大的 2 次幂。但是,当像这样填充时,C 示例也会超出输入数组。
至于哪个在数学上是正确的,我不知道。似乎舍入方法会引入伪影。虽然填充会添加额外的“功能”。也许这些可以通过填充最后一个值或平均值来最小化?