cvDFTでフーリエ変換

void cvDFT( const CvArr* src, CvArr* dst, int flags, int nonzero_rows );

srcをフーリエ変換してdstに格納

引数

  • src:CvMat*かIplImage*型の入力配列(画像)
  • dst:CvMat*かIplImage*型の出力配列(画像)
  • flags:int型の処理方法指定フラグ
  • nonzero_rows:int型のフラグ

返り値

  • void型なのでなし

void cvFFT( const CvArr* src, CvArr* dst, int flags, int nonzero_rows );

define文によるcvDFTのエイリアスなので詳細は割愛

int cvGetOptimalDFTSize( int size );

DFTを処理するのに最適なサイズを返す

引数

  • size:int型の行列の幅,もしくは高さ

返り値

  • sizeより大きい数値か,-1

解説

  • 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が返って来た場合は,失敗(理論的にありえないけれど)

サンプルコード

実体ファイル

  • cxcore/include/cxcore.h
  • cxcore/src/cxdxt.cpp

ジャンル:OpenCV:OpenCV 1.1準拠


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-05-27 (木) 11:34:02 (2734d)