HighGUI リファレンス マニュアル
- シンプルGUI(Simple GUI)
- 画像の読み込みと保存(Loading and Saving Images)
- ビデオ入出力(Video I/O)
- その他の関数とシステム関数(Utility and System Functions)
HighGUI 概説
TODO
シンプルGUI(Simple GUI)
cvNamedWindow
ウィンドウを作成する
int cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE );
- name
- ウィンドウの識別に用いられるウィンドウ名で,ウィンドウのタイトルバ ーに表示される.
- flags
- ウィンドウのフラグ.現在サポートされているフラグは, CV_WINDOW_AUTOSIZE のみである. これがセットされている場合,表示される画像サイズに合わせてウィンドウサイズが自動的に調整される. (cvShowImage を参照).その場合,ユーザが手動でウィンドウサイズを変更することはできない.
関数 cvNamedWindow は,画像とトラックバーのプレースホルダとして利用されるウィンドウを作成する.このウィンドウは,その名前によって参照される.
同じ名前のウィンドウが既に存在する場合は,この関数は何もしない.
cvDestroyWindow
ウィンドウを破棄する
void cvDestroyWindow( const char* name );
- name
- 破棄するウィンドウの名前.
関数 cvDestroyWindow は,指定された名前のウィンドウを破棄する.
cvDestroyAllWindows
全ての HighGUI ウィンドウを破棄する
void cvDestroyAllWindows( void);
関数 cvDestroyAllWindows は,オープンされている全ての HighGUI ウィ ンドウを破棄する.
cvResizeWindow
ウィンドウサイズを設定する
void cvResizeWindow( const char* name, int width, int height );
- name
- リサイズするウィンドウの名前.
- width
- 新しい幅.
- height
- 新しい高さ.
関数 cvResizeWindow は,ウィンドウサイズを変更する.
cvMoveWindow
ウィンドウの位置を変更する
void cvMoveWindow( const char* name, int x, int y );
- name
- 位置を変更するウィンドウの名前.
- x
- 左上のコーナーの新しい x 座標.
- y
- 左上のコーナーの新しい y 座標.
関数 cvMoveWindow は,ウィンドウの位置を変更する.
cvGetWindowHandle
ウィンドウの名前からウィンドウハンドルを取得する
void* cvGetWindowHandle( const char* name );
- name
- ウィンドウの名前.
関数 cvGetWindowHandle は,ネイティブウィンドウハンドル(Win32 の 場合は HWND,GTK+ の場合は GtkWidget)を返す.
cvGetWindowName
ウィンドウハンドルからウィンドウの名前を取得する
const char* cvGetWindowName( void* window_handle );
- window_handle
- ウィンドウのハンドル.
関数 cvGetWindowName は,与えられたネイティブウィンドウハンドル (Win32 の場合は HWND,GTK+ の場合は GtkWidget)が示すウィンドウの名前を返す.
cvShowImage
指定したウィンドウ内に画像を表示する
void cvShowImage( const char* name, const CvArr* image );
- name
- ウィンドウの名前.
- image
- 表示される画像.
関数 cvShowImage は,指定したウィンドウ内に画像を表示する. そのウィンドウのフラグに CV_WINDOW_AUTOSIZE が指定されていた場合は, 画像はオリジナルサイズで表示される.それ以外の場合,ウィンドウサイズに合わせて 表示画像サイズが変更される.
cvCreateTrackbar
トラックバーを作成して,指定されたウィンドウに追加する
CV_EXTERN_C_FUNCPTR( void (*CvTrackbarCallback)(int pos) );
int cvCreateTrackbar( const char* trackbar_name, const char* window_name,
int* value, int count, CvTrackbarCallback on_change );
- trackbar_name
- 作成されるトラックバーの名前.
- window_name
- 作成されるトラックバーの親として用いられるウィンドウの名前.
- value
- スライダの位置を表す,整数型変数のポインタ.作成時のスライダ位置は,この変数によって定義される.
- count
- スライダの最大値.最小値は常に 0.
- on_change
- スライダの位置が変更されるたびに呼び出される関数のポインタ. この関数のプロトタイプは,void Foo(int);となる. コールバックが不要の場合は,NULL を指定する.
関数 cvCreateTrackbar は, 指定された名前と範囲のトラックバー(スライダ,レンジコントロールとも呼ばれる)を作成する. この関数の引数には,トラックバーの位置に同期する変数と,トラックバーの位置変化に応じて呼び出されるコールバック関数を指定する. 作成されたトラックバーは,与えられたウィンドウの最上段に表示される.
cvGetTrackbarPos
トラックバーの位置を取得する
int cvGetTrackbarPos( const char* trackbar_name, const char* window_name );
- trackbar_name
- トラックバーの名前.
- window_name
- トラックバーの親ウィンドウの名前.
関数 cvGetTrackbarPos は,指定されたトラックバーの現在位置を返す.
cvSetTrackbarPos
トラックバーの位置を設定する
void cvSetTrackbarPos( const char* trackbar_name, const char* window_name, int pos );
- trackbar_name
- トラックバーの名前.
- window_name
- トラックバーの親ウィンドウの名前.
- pos
- 新しい位置.
関数 cvSetTrackbarPos は,指定されたトラックバーの位置を設定する.
cvSetMouseCallback
マウスイベントに対するコールバックを指定する
#define CV_EVENT_MOUSEMOVE 0
#define CV_EVENT_LBUTTONDOWN 1
#define CV_EVENT_RBUTTONDOWN 2
#define CV_EVENT_MBUTTONDOWN 3
#define CV_EVENT_LBUTTONUP 4
#define CV_EVENT_RBUTTONUP 5
#define CV_EVENT_MBUTTONUP 6
#define CV_EVENT_LBUTTONDBLCLK 7
#define CV_EVENT_RBUTTONDBLCLK 8
#define CV_EVENT_MBUTTONDBLCLK 9
#define CV_EVENT_FLAG_LBUTTON 1
#define CV_EVENT_FLAG_RBUTTON 2
#define CV_EVENT_FLAG_MBUTTON 4
#define CV_EVENT_FLAG_CTRLKEY 8
#define CV_EVENT_FLAG_SHIFTKEY 16
#define CV_EVENT_FLAG_ALTKEY 32
CV_EXTERN_C_FUNCPTR( void (*CvMouseCallback )(int event, int x, int y, int flags, void* param) );
void cvSetMouseCallback( const char* window_name, CvMouseCallback on_mouse, void* param=NULL );
- window_name
- ウィンドウの名前.
- on_mouse
- 指定されたウィンドウ内でマウスイベントが発生するたびに呼ばれる関数のポインタ.この関数のプロトタイプは,
void Foo(int event, int x, int y, int flags, void* param);
となる. ここで,event は CV_EVENT_* のいずれかである. x と y は,(ウィンドウ座標系ではなく)画像座標系内でのマウスポインタの座標であり, flags は,CV_EVENT_FLAG の論理和となる. param は,ユーザによって定義されるパラメータで 関数 cvSetMouseCallbackに渡される. - param
- コールバック関数に渡されるパラメータで,ユーザによって定義される.
関数 cvSetMouseCallbackは, 指定されたウィンドウ内で発生するマウスイベントに対するコールバック関数を設定する. これがどのように動作するかを見たい場合は,opencv/samples/c/ffilldemo.cデモを参照すること.
cvWaitKey
キーが押されるまで待機する
int cvWaitKey( int delay=0 );
- delay
- 遅延時間(ミリ秒).
関数 cvWaitKey は,無限に(delay<=0),あるいは 「delay」ミリ秒だけ,キーイベントを待つ. キーが押された場合はそのキーコードを,キーが押されないまま指定されたタイムアウト時間が過ぎてしまった場合は -1 が返される.
注釈: この関数は,HighGUI においてイベントを取得して扱うための唯一の手段である. よって,環境がイベント処理を扱ってくれる場合を除けば,通常のイベント処理ではこの関数を周期的に呼び出す必要がある.