我正在用C ++编写图像的小波表示,以便快速访问。什么是小波的合适数据结构?
这是一个典型的小波,由不同大小的图像组成。这取决于高度和方向数。
1)高通:512x512
2)方向的子带:256x256 256x256 256x256 256x256
3)其他子带:128x128 128x128 128x128 128x128
...
4)低通:8x8
我应该使用递归数据结构吗?或者只是将所有内容转换为1-D数组?
答案 0 :(得分:1)
答案是:这取决于。从编程抽象的角度来看,为每个子图像创建单独的数组可能是最简单的。我会让它们成为一个在抽象中作为2-d访问的数组。反补贴的冲动是分配一个大的阵列和部分它,基本上做你自己的内存管理。很多C ++程序大部分时间都花在malloc()/ free()上,所以这看起来很吸引人,但我认为这不值得。花时间研究算法,而不是工具。稍后如果您需要调整它以获得最后的性能,那么您可以这样做。
答案 1 :(得分:1)
希望谈论同一主题,我认为The wavelet matrix文章将澄清。