我正在用 C++ 编写图像的小波表示形式,以便快速访问。小波适合的数据结构是什么?
这是一个典型的小波,由不同尺寸的图像组成。这取决于高度和方向的数量。
1) 高通:512x512
2) 方向子带:256x256 256x256 256x256 256x256
3) 其他子带:128x128 128x128 128x128 128x128
...
4) 低通:8x8
我应该使用递归数据结构吗?或者简单地将所有内容转换为一维数组?
最佳答案
答案是:这取决于情况。从编程抽象的角度来看,为每个子图像创建单独的数组可能是最简单的方法。我会将它们设为一维数组,您可以在抽象中将其作为二维数组进行访问。与之相反的冲动是分配一个大数组并分割其中的各个部分,本质上是进行自己的内存管理。许多 C++ 程序大部分时间都花在 malloc()/free() 上,因此这看起来很有吸引力,但我认为这不值得。把时间花在算法上,而不是工具上。稍后,如果您需要调整它以获得最后一点性能,您可以这样做。
关于c++ - 表示小波的数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14609791/