2012-05-03 11 views
6

OpenCVのcvDFT(http://goo.gl/YCHj0)の代わりにFFTW(http://www.fftw.org/)を使用するとスピードアップが期待できますか?FFTWとOpenCV cvDFT

私のプログラムのランタイムは、逆方向および順方向DFTのアプリケーションによって大きく決定されています。私は、OpenCV cvDFTの代わりにFFTWを使用することを考えています。

IIRC FFTWは何らかの「ランタイムコンパイル」を行いますが、cvDFTは単純なFFT実装であるため、処理が少し速くなると思います。

私は自分で試してみる前に、誰かが同じ質問に遭遇して前にそれを解決した場合に、ここで質問すると思いました。私は(OpenCVのとFFTW)の両方を使用していると、あなたはFFTWが(もちろん、あなたのプロセッサと、画像サイズに大きく依存し、どのくらい)OpenCVのが簡単で実装よりも速くなることを期待することができ、事前

答えて

11

感謝。しかし、あなたのソフトウェアを商業的に使用する予定の場合、FFTWはかなり高価なライセンス($ 7500.00)を持っています。商用の場合は、FFTWの方がIntel's IPPをお勧めします。これは、より手頃な価格のライセンス($ 199.00)+ IPPの機能がFFTW(すなわち、FFTライブラリのみ)より多く機能するためです。

Hereは、FFTWとさまざまな競合他社のライブラリの間のいくつかのベンチマークです。結果は古くからあるが、比較には役立つ。私はなぜIPPの2D変換が含まれていないのか分かりません(おそらく、これらのベンチマークが実行されたときにまだ存在していなかった)。

IPPルートを使用すると、IPPサポート付きのOpenCVを構築することができます。ネイティブのcvDFT実装をIPP同等物に置き換えます。これにより、(特にインテルのチップ上で)優れたパフォーマンスが向上し、コードを変更する必要はありません。

+0

ありがとうございました!まず、IPPの再コンパイルを試みます。しかし、これらのライセンス問題を確認する必要があります。 –

+0

問題ありません! IPPがあなたのニーズに十分に速いことを願っています!最新のインテルCore-i7チップで最高のパフォーマンスを発揮するでしょう。 – mevatron