2

高速アクセスのために C++ でイメージのウェーブレット表現を作成しています。ウェーブレットに適したデータ構造は何ですか?

以下は、さまざまなサイズのイメージで構成される典型的なウェーブレットです。高さと向きの数によって異なります。

1) ハイパス: 512x512

2) 向きのあるサブバンド: 256x256 256x256 256x256 256x256

3) その他のサブバンド: 128x128 128x128 128x128 128x128

...

4) ローパス: 8x8

再帰的なデータ構造を使用する必要がありますか? それとも単にすべてを 1 次元配列に変換しますか?

4

2 に答える 2

1

ウェーブレット行列の記事で明確になると思います。

于 2013-01-30T18:37:36.773 に答える
1

答えは、場合によります。プログラミングの抽象化の観点からは、サブイメージごとに個別の配列を作成するのがおそらく最も簡単です。抽象化で 2 次元としてアクセスする 1 次元配列にします。相殺する衝動は、1 つの大きな配列を割り当て、その一部を分割して、基本的に独自のメモリ管理を行うことです。多くの C++ プログラムはほとんどの時間を malloc()/free() に費やしているため、これは魅力的に思えるかもしれませんが、それだけの価値があるとは思いません。ツールではなく、アルゴリズムに時間を費やしてください。後で、パフォーマンスの最後のイオタのために微調整する必要がある場合は、それを行うことができます。

于 2013-01-30T18:34:55.387 に答える