cvDFTでフーリエ変換

#contents

*void cvDFT( const CvArr* src, CvArr* dst, int flags, int nonzero_rows ); [#gb31c4ed]
srcをフーリエ変換してdstに格納

**引数 [#d2c794cd]
-src:CvMat*かIplImage*型の入力配列(画像)
-dst:CvMat*かIplImage*型の出力配列(画像)
-flags:int型の処理方法指定フラグ
-nonzero_rows:int型のフラグ

**返り値 [#jccce67c]
-void型なのでなし

*void cvFFT( const CvArr* src, CvArr* dst, int flags, int nonzero_rows ); [#m60fc169]
define文によるcvDFTのエイリアスなので詳細は割愛

*int cvGetOptimalDFTSize( int size ); [#z239f994]
DFTを処理するのに最適なサイズを返す

**引数 [#n9dfdc66]
-size:int型の行列の幅,もしくは高さ

**返り値 [#n68d2e13]
-sizeより大きい数値か,-1

*解説 [#v7428f02]
-srcとdstは例によって同じサイズ,タイプ,チャンネル数の必要あり
-flagsは以下のいずれか,もしくは組み合わせ
--CV_DXT_FORWARD(0)
--CV_DXT_INVERSE(1)
--CV_DXT_SCALE(2)
--CV_DXT_ROWS(4)
--CV_DXT_INV_SCALE(CV_DXT_SCALE|CV_DXT_INVERSE)
--CV_DXT_INVERSE_SCALE(CV_DXT_INV_SCALE)
-nonzero_rowsは非0の行数を指定する
-cvGetOptimalDFTSizeで返される数字はDFTに適した数字
--DFTよりFFTが高速
--FFTは2^nの要素数の必要がある
--入力の配列に0を追加してFFTに最適な長さを計算する
--実際はその3倍,5倍にも対応している(R1にて)
--結果で-1が返って来た場合は,失敗(理論的にありえないけれど)

*サンプルコード [#qa210b56]

*実体ファイル [#n2fc684d]
-cxcore/include/cxcore.h
-cxcore/src/cxdxt.cpp

ジャンル[[:OpenCV]][[:OpenCV 1.1]]準拠

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS