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 )
- destroyWindow( string& winname )
- destroyWindowAll( string& winname )
- imshow( string& winname, Mat& img )
- setWindowProperty(const string& winname, int prop_id, double prop_value)
- getWindowProperty(const string& winname, int prop_id)
- 引数
- 返り値
- 解説
- ウィンドウの縁の幅と高さ
- サンプルコード
- その他
- 実体ファイル
関数一覧†
cvNamedWindow( const char*, int flags )†
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)†
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)で省略可能
返り値†
- 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準拠