ユーザインタフェース ============================== .. highlight:: cpp .. index:: createTrackbar cv::createTrackbar ------------------ `id=0.0929045217848 Comments from the Wiki `__ .. cfunction:: int createTrackbar( const string\& trackbarname, const string\& winname, int* value, int count, TrackbarCallback onChange CV_DEFAULT(0), void* userdata CV_DEFAULT(0)) トラックバーを作成し,指定されたウィンドウに追加します. :param trackbarname: 作成されるトラックバーの名前. :param winname: 作成されるトラックバーの親として用いられるウィンドウの名前. :param value: オプション.整数型変数へのポインタ.この値はスライダの位置を反映します.作成時,作成時のスライダ位置は,この変数によって定義されます. :param count: スライダの最大値.最小値は常に 0です. :param onChange: スライダの位置が変更されるたびに呼び出される関数のポインタ.この関数のプロトタイプは, ``void Foo(int,void*);`` となり,最初の引数はトラックバーの位置,2番目引数はユーザデータ(次の引数説明を参照してください)を表します.このコールバックがNULLポインタの場合,コールバック関数は呼び出されませんが, ``value`` だけは更新されます. :param userdata: コールバック関数に渡されることになるユーザデータ.グローバル変数に頼らずにトラックバーイベントを扱うために利用されます. 関数 ``createTrackbar`` は,指定された名前と範囲のトラックバー(スライダ,レンジコントロールとも呼ばれます)を作成します.また,トラックバーの位置と同期する変数 ``value`` を割り当て,トラックバーの位置が変更されたときに呼び出されるコールバック関数 ``onChange`` を指定します.作成されたトラックバーは,指定されたウィンドウの上部に表示されます. **[Qt バックエンドのみ]** Qt 固有機能の詳細: * **winname** トラックバーの親ウィンドウの名前.トラックバーがコントロールパネル上に配置されている場合は,NULL を指定できます. *winname* が正しく与えられた場合,作成されたトラックバーはウィンドウ の下部に表示されます.あるいは, *winname* が NULL であれば,コントロールパネル上に表示されます. トラックバーのラベルをクリックすると,トラックバーの値を直接編集することができます. .. index:: getTrackbarPos cv::getTrackbarPos ------------------ `id=0.682516847203 Comments from the Wiki `__ .. cfunction:: int getTrackbarPos( const string\& trackbarname, const string\& winname ) トラックバーの位置を返します. :param trackbarname: トラックバーの名前. :param winname: トラックバーの親ウィンドウの名前. この関数は,指定されたトラックバーの現在位置を返します. **[Qt バックエンドのみ]** Qt 固有機能の詳細: * **winname** トラックバーの親ウィンドウの名前.トラックバーがコントロールパネル上に配置されている場合は,NULL を指定できます. .. index:: imshow cv::imshow ---------- `id=0.787555602923 Comments from the Wiki `__ .. cfunction:: void imshow( const string\& winname, const Mat\& image ) 指定したウィンドウ内に画像を表示します. :param winname: ウィンドウの名前. :param image: 表示される画像. 関数 ``imshow`` は,指定したウィンドウ内に画像を表示します.そのウィンドウ作成時にフラグに ``CV_WINDOW_AUTOSIZE`` が指定されていた場合は,画像はオリジナルサイズで表示されます.それ以外の場合,ウィンドウサイズに合わせて 表示画像サイズが変更されます.この関数は,ビット深度に応じて,画像をスケーリングします: * 画像が8ビット符号なし整数の場合,そのま表示します. * 画像が16ビット符号なし整数,または32ビット整数の場合,ピクセル値は256で割られます.つまり,[0,255*256] の範囲が [0,255] にマップされます. * 画像が32ビット浮動小数点数の場合,ピクセルは255倍されます.つまり,[0,1] の範囲が [0,255] にマップされます. .. index:: namedWindow cv::namedWindow --------------- `id=0.541059917535 Comments from the Wiki `__ .. cfunction:: void namedWindow( const string\& winname, int flags ) ウィンドウを作成します. :param name: ウィンドウの識別などに用いられるウィンドウ名で,ウィンドウのタイトルバーに表示されます. :param flags: ウィンドウのフラグ.現在サポートされているフラグは ``CV_WINDOW_AUTOSIZE`` のみです.これがセットされている場合,表示される画像サイズに合わせてウィンドウサイズが自動的に調整され( :ref:`imshow` を参照してください),ユーザが手動でウィンドウサイズを変更することはできません. 関数 ``namedWindow`` は,画像とトラックバーのプレースホルダとして利用されるウィンドウを作成します.このウィンドウは,その名前によって参照されます. 同じ名前のウィンドウが既に存在する場合は,この関数は何もしません. **[Qt バックエンドのみ]** Qt 固有機能の詳細: * **flags** ウィンドウのフラグ.現在サポートされるフラグは以下のとおりです: * **CV_WINDOW_NORMAL or CV_WINDOW_AUTOSIZE:** ``CV_WINDOW_NORMAL`` を指定すると,ユーザがウィンドウサイズを変更できるようになります.逆に ``CV_WINDOW_AUTOSIZE`` を指定すると,表示画像( :ref:`ShowImage` を参照してください)にフィットする様にウィンドウサイズが自動的に調整され,ユーザはウィンドウサイズを変更することができなくなります. * **CV_WINDOW_FREERATIO or CV_WINDOW_KEEPRATIO:** ``CV_WINDOW_FREERATIO`` を指定すると,アスペクト比を保たずに画像サイズが調整され,逆に ``CV_WINDOW_KEEPRATIO`` を指定すると,アスペクト比を保つように調整されます. * **CV_GUI_NORMAL or CV_GUI_EXPANDED:** ``CV_GUI_NORMAL`` を指定すると,ステータスバーとツールバーのない以前のウィンドウを表示することができます.逆に ``CV_GUI_EXPANDED`` を指定すると,機能強化された新しいGUIが表示されます. このパラメータはオプションです.新たにウィンドウを作成する場合のデフォルトのフラグは, ``CV_WINDOW_AUTOSIZE`` , ``CV_WINDOW_KEEPRATIO`` , ``CV_GUI_EXPANDED`` です. フラグを変更したい場合は, OR 演算子でこれらを組み合わせることができます.以下に例を示します: .. code-block:: c namedWindow( "myWindow", ``CV_WINDOW_NORMAL`` | ``CV_GUI_NORMAL`` ); .. .. index:: setTrackbarPos cv::setTrackbarPos ------------------ `id=0.921199945786 Comments from the Wiki `__ .. cfunction:: void setTrackbarPos( const string\& trackbarname, const string\& winname, int pos ) トラックバーの位置をセットします. :param trackbarname: トラックバーの名前. :param winname: トラックバーの親ウィンドウの名前. :param pos: 新しい位置. この関数は,指定されたウィンドウの指定されたトラックバーの位置をセットします. **[Qt バックエンドのみ]** Qt 固有機能の詳細: * **winname** トラックバーの親ウィンドウの名前.トラックバーがコントロールパネル上に配置されている場合は,NULL を指定できます. .. index:: waitKey cv::waitKey ----------- `id=0.367365670505 Comments from the Wiki `__ .. cfunction:: int waitKey(int delay=0) キーが押されるまで待機します. :param delay: ミリ秒単位で表される遅延時間.0は,「無限」を意味する特別な値です. 関数 ``waitKey`` は,無限に( :math:`\texttt{delay}\leq 0` の場合),あるいは ``delay`` ミリ秒(正値の場合)だけ,キーイベントを待ちます.キーが押された場合はそのキーコードが,キーが押されないまま指定された指定時間が過ぎてしまった場合は -1 が返されます. **注意:** この関数は,HighGUI においてイベントを取得して扱うための唯一の手段です.よって,実行環境がイベント処理を扱ってくれる場合を除けば,通常のイベント処理ではこの関数を周期的に呼び出す必要があります. **注意 2:** この関数は,HighGUI ウィンドウが少なくとも1つ存在し,それがアクティブな場合にのみ動作します.複数の HighGUI ウィンドウがある場合は,どれかがアクティブであれば構いません.