問題タブ [fftw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1861 参照

c++ - C++にOpencv2.3マットポインタはありますか

私はopencvを初めて使用し、C++でバージョン2.3を使用しています。私のアプローチは、cv ::Mat_の値へのfloat**ポインターを取得することです。ここで、値を変更したり、float[][]を介してアクセスしたりすることもできます。fftw3やその他のものを使用するために必要ですが、通常はこれらのポインターが必要です。opencvのドキュメントは非常に優れていますが、uchar*ポインター「data」を見つけることができました。このポインタで画像を読み取ることは問題ではありませんが、cv::Matsにfloatまたはdoubleを書き込みたいと思います。

ヘルプのためだけに:私の最終的な関数は次のようになります:

では、誰かがこの問題の小さなコードスニペットを持っていますか?

0 投票する
2 に答える
937 参照

fortran - ポアソン方程式 スペクトル法による

ポアソン方程式を書きました。スペクトル法によるソルバー。しかし、得られた結果は、周期境界条件による差分法の結果とは一致しません。FFTWの使い方が間違っていると思います。次のコードのどの部分にエラーがあるか教えていただけますか? ありがとうございました。

0 投票する
1 に答える
362 参照

opencv - OpenCV 1.0 画像ピクセル値へのアクセスと FFTW での使用

私は OpenCV 1.0 ベースのキャリブレーション ツールボックスを使用しており、これに小さな追加を行っています。私の追加では、FFTW ライブラリを使用する必要があります (OpenCV には DFT 関数がありますが、私の好みではありません)。

画像のピクセル値にアクセスし、それらのピクセル値を FFTW_complex 型の変数に格納しようとしています。私はさまざまな提案 (openCV のドキュメントを含む) を試しましたが、これを適切に行うことができませんでした。

以下のコードでは、ビルド中またはデバッグ中に変数の型に矛盾が生じることはありません。ただし、取得されて「testarray」に格納されるピクセル値は、値 [13、240、173、186] の繰り返しです。ピクセル値にアクセスしてFFTW準拠のマトリックス/コンテナに保存する方法を知っている人はいますか?


私は問題を発見しました。私はそれにアクセスするために間違ったアプローチを使用していました。

これは私が使用したものです:


0 投票する
1 に答える
863 参照

fftw - 特定の FFTW ライブラリが単精度または倍精度でコンパイルされていませんか?

FFTW が単精度または倍精度でコンパイルされたかどうかを確認する方法はありますか?

0 投票する
1 に答える
2567 参照

linux - Windows の FFTW が Linux よりも速いのはなぜですか?

fftw ライブラリ ( fftw3.afftw3.lib) を使用して Linux と Windows で 2 つの同一のプログラムを作成し、fftwf_execute(m_wfpFFTplan)ステートメントの継続時間を計算しました (16-fft)。

10000 回の実行の場合:

  • Linux の場合: 平均時間は 0.9 です
  • Windows: 平均時間は 0.12

Linux よりも Windows の方が 9 倍高速である理由について、私は混乱しています。

プロセッサー: Intel(R) Core(TM) i7 CPU 870 @ 2.93GHz

各 OS (Windows XP 32 ビットおよび Linux OpenSUSE 11.4 32 ビット) が同じマシンにインストールされています。

インターネットから fftw.lib (Windows 用) をダウンロードしましたが、その構成がわかりません。この構成でFFTWをビルドしたら:

Linux では、デフォルトの構成 (0.4 ミリ秒) よりも 4 倍高速なライブラリが得られます。

0 投票する
1 に答える
2643 参照

c++ - Linux および Eclipse IDE で FFTW ライブラリを使用する際の問題

そのため、以前に書いた古いコードを使用しています。私はもともとそれを Windows に移植するつもりでしたが、いくつかの成功を収めましたが、すぐに他の問題に遭遇し、*nix 環境に戻すことにしました。元のコードは、最初の試行で問題なくコンパイルおよび実行されました。

Ubuntu 11.10 を実行しており、IDE として Eclipse を選択しました。元のコードをコンパイルして実行すると、すべて問題ありません。FFTW ライブラリ ([fftw.org][1]) をインストールしましたが、このライブラリを使用するものをビルドできないようです。

ターミナルでaptitudeを使用してライブラリをインストールしました:

ライブラリは間違いなく存在します:

そして、Eclipse のプロジェクトのプロパティ -> C++ リンカ -> ライブラリ リストに "fftw3" を追加しました。

ヘッダーファイルは問題なく見つかりました。

コンパイルに行くと、ライブラリで定義されているすべてのデータ型が定義されていないため、基本的にコンパイラは何をすべきかわかりません。

私は少し困惑しています...

エラーの 1 つを次に示します (すべて同一です)。 行:

エラー:

他に何を試すべきかわかりません。あなたの助けと専門知識は大歓迎です。前もって感謝します。

解決しました!これが解決策です

OLD CODEを使用して睡眠不足で作業し、Google や StackOverflow で同様の問題の解決策を探している人は、自分で作成するのではなく、私のばかげた間違いから学んでください。

ここでのキー フレーズはold codeです。私のコードは FFTW 2 用に書かれていますが、根本的に異なるインターフェイスを持つライブラリのバージョン 3 を使用しています。ライブラリを使用するすべてのコードを更新する必要がありましたが、すべて正常に機能しました。

どっ!ばかだ。Google ランドの誰かがいつかこれが役立つことを願っています。

何が間違っていたのかを理解するのを手伝ってくれて、Dietmar Kühl に感謝します。時間を割いてライブラリをインストールし、いろいろ調べていただきありがとうございます。とても親切でした。

0 投票する
0 に答える
716 参照

c++ - Resolving numerical difference between MATLAB fft2() and its fftw_plan_dft_2d() C++ implementation

I'm trying to implement the MATLAB fft2() and ifft2() function in C++ using OpenCV and the FFTW3.3 library. I've been able to successfully port the code, which perform the forward and inverse transforms correctly. But,the complex numeric values of the dft matrix generated by MATLAB R2009a fft2() function differs greatly from its FFTW counterpart. I need to resolve this issue for optimum performance my application. I'm providing my C++ implementations and sample input/output below:

For example, the above mentioned fft2() function is called using the following code:

For x = [ 1+1i 1+1i; 1+1i 1+1i] the fft2(x) provides

[4.0000 + 4.0000i 0; 0 0 ] where fftw implementation provides,

[-6.27744e+066-6.27744e+066i 6.27744e+066-6.27744e+066i ; -6.27744e+066-6.27744e+066i 6.27744e+066-6.27744e+066i ]

I need to understand what is the relation between these two matrix, if any.

Looking forward to your suggestions.

Thanks in advance.

0 投票する
4 に答える
8074 参照

windows - Windows 64 ビットでビジュアル C++ Express を使用して fftw ライブラリにリンクできない

Visual C++ Express を使用して fftw ライブラリにリンクしようとしていますが、コンパイルしようとするとリンカー エラーが発生します。lib.exeプログラムを使用して.lib「インポートライブラリ」を作成することにより、サイト(http://fftw.org/install/windows.html)が説明しているように、libファイルを生成しました。

.lib ファイルを「Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib」に追加し、fftw3.h を「Program Files (x86)\Microsoft Visual Studio 9.0\VC\include」に追加しました。次に、dll ファイルを「Windows/system32」フォルダーに配置します。ライブラリ (libfftw3f-3.lib、libfftw3-3.lib、libfftw3l-3.lib) をリンカー/入力設定の追加の依存関係に追加してリンクしました。コンパイルしようとすると、次のエラーが発生します。

スタックオーバーフローを検索しましたが、ほとんどの回答は、ライブラリを追加の依存関係に追加して見つける必要があることを説明しています。コマンド ライン オプションに /verbose:lib を指定すると、次のようになります。

ライブラリを見つけたようですが、ライブラリ内の関数名を誰が見つけられるかわかりません。このライブラリも使用している Web サイトからコードを取得しました。興味深いことに、関数名は「fftw3.h」に表示されませんが、これが問題の原因ではないと思います。

今どこに頼ればよいかわからないので、どんな助けでも大歓迎です。

ありがとう。

0 投票する
1 に答える
2085 参照

macos - openmp を使用するための fftw3 configure の問題

Mac OS Lion で openmp オプションを指定して fftw3 をコンパイルしようとしています。http://www.fftw.org/release-notes.htmlで公開されているように、次のコマンド ラインを使用します ./configure --enable-openmp

configure は次の行で停止します: C コンパイラの OpenMP フラグをチェックしています... 不明な構成: エラー: OpenMP を有効にする方法がわかりません

openmp が xcode で提供されていることは知っていますが、構成オプションにそれを提供する方法がわかりません。誰か助けてください。私はすでに他のプログラムで openmp を使用することに成功しています。

これが私を助けるのに十分な情報であることを願っています。

ありがとうございました、

注: Xcode 4.2、gcc 4.2.1 を使用しています。

config.log の「出力変数」セクションで、次のことがわかります。

失敗は次のようです (config.log 内):

configure:18427: gcc -std=gnu99 -o conftest conftest.c -lm >&5
アーキテクチャ x86_64 の未定義シンボル:
"_omp_set_num_threads"、ccfUItzL.o
ld の _main から参照: アーキテクチャ x86_64 のシンボルが見つかりません
collect2: ld 1 つの終了ステータスが返されました
configure:18427: $? = 1
構成: 失敗したプログラムは: /.../

0 投票する
2 に答える
4175 参照

c - FFTWを使用した位相相関

ここで、位相相関(2つの画像)に1d変換を使用します。2D変換の使用方法(より高速になりますか?)、知恵とマルチスレッドサポートの使用方法は?あなたがコード例を与えるならば、それはより良いでしょう。