プログラム以前、Excelのマクロを使って、データ個数に応じて高速フーリエ変換(FFT)と離散フーリエ変換(DFT)の処理を自動で切り替えるマクロを作成したのですが、Excelではデータ数が多い時など、使いにくい場合もあるので、今度は、C#でフーリエ変換部分をライブラリ(*.dll)にし、そのライブラリを使ったプログラムを作成しました。FourierTransform.zipソースコードは、すべてGitHubで公開しています。https://github.com/ImagingSolution/FourierCSharp使用方法は以下の通りです。プログラムの実行zipファイルを解凍すると、FourierTransform.exeFourierCSharp.dllsampledataとなっていますので、FourierTransform.exeをダブルクリックして実行してください。フーリエ変換できるデータフォーマットデータは1行あたりに1つのデータのCSVファイルとなります。例)11.309395511.590963441.8205380791.9807670382.063313512.0698037272.011390081.9069945421.7804821091.657163891.5601232881.5068831031.5068831031.560123288入力データに実数部と虚数部が含まれる場合は、1行あたりに実数部、虚数部とします。sampledataフォルダ内にいくつかCSVファイルを入れてありますので、そちらを参考にしてください。クリックし、CSVファイルを指定することで、データが読み込まれ、フーリエ変換の結果(フーリエ変換後の各周波数の大きさ)が表示されます。フーリエ変換はデータの個数が2のn乗個の場合:FFT、その他の場合:DFTを行います。クリックすることで、離散フーリエ変換、逆離散フーリエ変換が切り替わります。$$で計算しています。いづれかをクリックすることで、それぞれの窓関数を通します。窓関数ただし、窓関数を通すと、元に戻せないため、元に戻す場合は、再度、データ読込を行って下さい。免責事項ここに公開されているプログラムは自由に使って頂いて構いませんが、バグ等による責任は待てませんので、自己責任において参照下さい。【C#】画像ファイルビューア(ソースコード付き)(2019.09.03追記)本記事の内容を再度、再構成し、下記の記事を作成しました。私がブログやマニュアルを書くときに必需品となっている、フリーの画面キャプチャソフトのScreenpressoを紹介したいと思います。...記事を読むCVKaleidoscope今回はちょっと息抜き。画像処理プログラムの基本は画像の輝度値(画素値)を取得して、様々な処理をすることとなりますが、C#では輝度値を取得するメソッドにSetPix...記事を読む【C#】GraphicsPathGraphicsPath(名前空間:System.Drawing.Drawing2D)ですが、線や丸を書くだけで、DrawXXX系のメソッド...記事を読む【C#】Chartを使ったヒストグラム表示Chartコントロールを使いたかった理由の一つに画像処理ではおなじみのヒストグラムをChartコントロールで表示したかったのですが、その簡単...記事を読む【C#】画像の一部領域の切り出し画像の一部領域を切り出すには以下の手順で行います。最近はC#を基礎から勉強しようと思い、わんくま同盟でも活躍されている著者の面々にあこがれて買ったこの本。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。