cvFlipで画像を反転

void cv::flip(InputArray src, OutputArray dst, int flipCode);

画像を水平、垂直に反転する関数flip

引数

  • src:cv::Mat型 の入力画像
  • dst:cv::Mat型 の出力画像
  • flipCode:int型の反転軸。詳細は解説参照

返り値

  • void型なのでなし

void cvFlip(IplImage* src, IplImage* dst, int mode);

画像を反転してくれる関数cvFlip.その際原点は移動しない

引数

  • src:IplImage*型の入力画像.CvMat*型でも可.
  • dst:IplImage*型の反転画像.CvMat*型でも可.省略可
  • mode:int型の反転軸.省略可

返り値

  • void型なのでなし

void cvConvertImage( IplImage *src, IplImage* dst, int flags );

srcを垂直方向に反転

引数

  • src:IplImage*型の原画像
  • dst:IplImage*型の出力画像
  • flags:int型のフラグ
    • CV_CVTIMG_FLIP
    • CV_CVTIMG_SWAP_RB

返り値

  • void型なのでなし

解説

  • mode で反転する軸の向きを与える
    • mode = 0で垂直反転
    • mode = 正の数で水平反転
    • mode = 負の数で両方反転
  • 内部的には
    • modeが0を含んだ負の数なら垂直反転、それ以外なら水平反転
    • modeが0を含まない負の数ならもう一度水平反転
    • という2段階のロジックが組まれている。
  • 以下Cインタフェースの情報
    • modeは省略した場合はデフォルト0が利用される
    • dstも省略可能
      • dstを省略した場合はsrcを上書きする
    • 原点は変えずに,中身だけ反転させる関数
    • 単純に反転だけさせたかったら,IplImage->originの数字のXORを取ればよい
    • cvConvertImageも内部ではcvFlipを使ってるだけ
    • cvFlipも、内部的にcv::flipをコールしてる

サンプルコード

 cvFlip( pRaw, pMirror, 1);
 // これはpInputRaw水平反転させた画像pMirrorが返ってくる.

 cvFlip( pRaw, pUpSideDown, 0);
 // これはpInputRawを垂直反転させた画像pUpSideDownが返ってくる.

 cv::flip(input, output, 0);
 // これは inputを垂直反転させた画像がoutputに格納される

実体ファイル

  • :OpenCV 2.4
    • sources/modules/core/src/copy.cpp (cvFlip, flip)
    • sources/modules/core/include/opencv2/core/core.hpp
    • sources/modules/highgui/src/utils.cpp (cvConvertImage)
    • sources/modules/highgui/include/opencv2/highgui/highgui_c.h
  • :OpenCV 1.0
    • cxcore/src/cxcopy.cpp
    • cxcore/include/cxcore.h
    • otherlibs/highgui/utils.cpp
    • otherlibs/highgui/highgui.h

ジャンル:OpenCV:OpenCV 1.0:OpenCV 2.4準拠


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-05-08 (木) 09:41:13 (1292d)