OpenCVのhighguiライブラリを利用してウィンドウの生成,破棄,表示などを取り扱う

関数一覧

cvNamedWindow( const char*, int flags )

  • ウィンドウの生成

cvDestroyWindow( const char* name )

cvDestroyAllWindows(void)

  • ウィンドウの破棄

cvMoveWindow( const char* name, int x, int y )

  • ウィンドウを指定した位置に動かす

cvResizeWindow( const char* name, int width, int height )

  • ウィンドウを指定したサイズにリサイズする

cvShowImage( const char* name, const CvArr* array)

  • 指定したウィンドウに画像(配列)を表示する.

cvSetWindowProperty(const char* name, int prop_id, double prop_value)

cvGetWindowProperty(const char* name, int prop_id)

  • ウィンドウのプロパティを設定する

NamedWindow( string& winname, int flags )

  • ウィンドウの生成
  • C++インタフェース,Cインタフェースのラッパー

destroyWindow( string& winname )

destroyWindowAll( string& winname )

  • destroyWindowAllはOpenCV2.3以降でしか実装されてない
  • C++インタフェース,Cインタフェースのラッパー

imshow( string& winname, Mat& img )

  • 指定したウィンドウに画像(配列)を表示する
  • C++インタフェース,Cインタフェースのラッパー

setWindowProperty(const string& winname, int prop_id, double prop_value)

getWindowProperty(const string& winname, int prop_id)

  • ウィンドウのプロパティを設定する
  • C++インタフェース,Cインタフェースのラッパー

引数

  • ウィンドウは基本的に名前(文字列)で指定する
  • Case Sensitive つまり大文字小文字は区別される
  • cvNamedWindowのflagはデフォルトでCV_WINDOW_AUTOSIZE (=1)で省略可能

返り値

  • NamedWindowは成功したら1,失敗したら0を返す
  • NamedWindow以外はvoid型

解説

  • cvNamedWindowでCV_WINDOW_AUTOSIZEを指定すると,マウスによるウィンドウのサイズの変更ができなくなる
  • cvNamedWindowで奇数以外をflagに指定するとマウスによってサイズが変更でき,中身の画像はそれに伴って拡大/縮小される
  • ウィンドウを破棄(destroyせずにプログラム終了すると,文句を言われるので注意)
  • 特にdestroyWindowAllは2.3以降でしか実装されてないので注意

ウィンドウの縁の幅と高さ

  • XP,クラシックスキームで左の縁が7px,タイトルバーを含めて上の縁が26px
  • OpenCVで描画したウィンドウをスクリーンキャプチャして切り取るときに便利

サンプルコード

cvNameWindow("Image");
IplImage *input = cvLoadImage("./test.bmp", CV_LOAD_IMAGE_UNCHANGED);
cvShowImage("Image", input);
cvMoveWindow("Image", 0, 200);      // (0, 200)にウィンドウを移動
cvResizeWindow("Image", 500, 500);  // ここで,flag=0としておくと,中身の大きさも変わる
cvDestroyAllWindows(); 

その他

実体ファイル

  • OpenCV 1.1以前
    • otherlibs/highgui/highgui.h
    • otherlibs/highgui/window_w32.cpp (Windows版)
  • OpenCV 2.2以降
    • opencv2/highgui/highgui.hpp (C++インタフェース)
    • opencv2/highgui/highgui_c.h (Cインタフェース)
    • modules/highgui/src/window.cpp (Windows,C++インタフェース)
    • modules/highgui/src/window_w32.cpp (Windows,Cインタフェース)

ジャンル:OpenCV:OpenCV 1.0:OpenCV 1.1:OpenCV 2.2:OpenCV 2.3準拠


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-10-17 (月) 14:56:52 (2230d)