ユーザインタフェース ============================== .. highlight:: python .. index:: CreateTrackbar cv::CreateTrackbar ------------------ .. function:: CreateTrackbar(trackbarName, windowName, value, count, onChange) -> None トラックバーを作成し,指定されたウィンドウに追加します. :param trackbarName: 作成されるトラックバーの名前 :param windowName: 作成されるトラックバーの親として利用されるウィンドウの名前 :param value: スライダ位置の初期値.0から ``count`` までの値 :param count: スライダ位置の最大値.最小値は常に0です :param onChange: OpenCV は,スライダの位置が変更される度に ``onChange`` を呼び出します. OpenCV は,これを ``func(x)`` として呼び出し,この ``x`` はスライダの新しい位置を表します. 関数 ``cvCreateTrackbar`` は,指定された名前と可動範囲をもつトラックバー(スライダ,レンジコントロールとも呼ばれます)を作成します.この関数の引数には,トラックバーの位置に同期する変数と,トラックバーの位置変化に応じて呼び出されるコールバック関数を指定します.作成されたトラックバーは,指定されたウィンドウの最上段に表示されます. .. index:: DestroyAllWindows cv::DestroyAllWindows --------------------- .. function:: DestroyAllWindows()-> None 全てのHighGUIウィンドウを破棄します. 関数 ``cvDestroyAllWindows`` は,オープンされている全てのHighGUIウィンドウを破棄します. .. index:: DestroyWindow cv::DestroyWindow ----------------- .. function:: DestroyWindow(name)-> None ウィンドウを破棄します. :param name: 破棄されるウィンドウの名前 :type name: str 関数 ``cvDestroyWindow`` は,指定された名前のウィンドウを破棄します. .. index:: GetTrackbarPos cv::GetTrackbarPos ------------------ .. function:: GetTrackbarPos(trackbarName,windowName)-> None トラックバーの位置を取得します. :param trackbarName: トラックバーの名前 :type trackbarName: str :param windowName: トラックバーの親ウィンドウの名前 :type windowName: str 関数 ``cvGetTrackbarPos`` は,指定されたトラックバーの現在位置を返します. .. index:: MoveWindow cv::MoveWindow -------------- .. function:: MoveWindow(name,x,y)-> None ウィンドウの位置を変更します. :param name: Name of the window to be moved. :type name: str :param x: New x coordinate of the top-left corner :type x: int :param y: New y coordinate of the top-left corner :type y: int 関数 ``cvMoveWindow`` は,ウィンドウの位置を変更します. .. index:: NamedWindow cv::NamedWindow --------------- .. function:: NamedWindow(name,flags=CV_WINDOW_AUTOSIZE)-> None ウィンドウを作成します. :param name: ウィンドウの識別に用いられるウィンドウ名で,ウィンドウのタイトルバーに表示されます :type name: str :param flags: ウィンドウのフラグ.現在サポートされているフラグは ``CV_WINDOW_AUTOSIZE`` のみです.このフラグがセットされていると,表示される画像サイズに合わせてウィンドウサイズが自動的に調整されます( :ref:`ShowImage` を参照してください).その場合,ユーザが手動でウィンドウサイズを変更することはできません :type flags: int 関数 ``cvNamedWindow`` は,画像とトラックバーのプレースホルダとして利用されるウィンドウを作成します.このウィンドウは,その名前によって参照されます. 同じ名前のウィンドウが既に存在する場合は,この関数は何もしません. .. index:: ResizeWindow cv::ResizeWindow ---------------- .. function:: ResizeWindow(name,width,height)-> None ウィンドウサイズを変更します. :param name: リサイズされるウィンドウの名前 :type name: str :param width: 新しい幅 :type width: int :param height: 新しい高さ :type height: int 関数 ``cvResizeWindow`` は,ウィンドウサイズを変更します. .. index:: SetMouseCallback cv::SetMouseCallback -------------------- .. function:: SetMouseCallback(windowName, onMouse, param) -> None マウスイベントに対してコールバックを割り当てます. :param windowName: ウィンドウの名前 :param onMouse: 指定ウィンドウ内でマウスイベントが発生する度に呼び出される呼び出し可能オブジェクト.これは `` Foo(event, x, y, flags, param)-> None `` という形式でなければいけません. ここで ``event`` は, ``CV_EVENT_*`` の内の1つで, ``x`` と ``y`` は(ウィンドウ座標系ではなく)画像座標系におけるマウスポインタの座標, ``flags`` は ``CV_EVENT_FLAG_*`` の論理和です.また, ``param`` は, ``cvSetMouseCallback`` 関数呼び出しの際に渡されるユーザ定義パラメータです :param param: コールバック関数に渡される,ユーザ定義パラメータ 関数 ``cvSetMouseCallback`` は,指定ウィンドウ内で発生するマウスイベントに対するコールバック関数を設定します. ``event`` パラメータは,以下の内の1つです: * **CV_EVENT_MOUSEMOVE** マウスが移動した * **CV_EVENT_LBUTTONDOWN** 左ボタンが押された * **CV_EVENT_RBUTTONDOWN** 右ボタンが押された * **CV_EVENT_MBUTTONDOWN** 中ボタンが押された * **CV_EVENT_LBUTTONUP** 左ボタンが離された * **CV_EVENT_RBUTTONUP** 右ボタンが離された * **CV_EVENT_MBUTTONUP** 中ボタンが離された * **CV_EVENT_LBUTTONDBLCLK** 左ボタンがダブルクリックされた * **CV_EVENT_RBUTTONDBLCLK** 右ボタンがダブルクリックされた * **CV_EVENT_MBUTTONDBLCLK** 中ボタンがダブルクリックされた ``flags`` パラメータは,以下の内の1つです: * **CV_EVENT_FLAG_LBUTTON** 左ボタンが押されている * **CV_EVENT_FLAG_RBUTTON** 右ボタンが押されている * **CV_EVENT_FLAG_MBUTTON** 中ボタンが押されている * **CV_EVENT_FLAG_CTRLKEY** Ctrl キーが押されている * **CV_EVENT_FLAG_SHIFTKEY** Shift キーが押されている * **CV_EVENT_FLAG_ALTKEY** Alt キーが押されている .. index:: SetTrackbarPos cv::SetTrackbarPos ------------------ .. function:: SetTrackbarPos(trackbarName,windowName,pos)-> None トラックバーの位置をセットします. :param trackbarName: トラックバーの名前 :type trackbarName: str :param windowName: トラックバーの親ウィンドウの名前 :type windowName: str :param pos: トラックバーの新しい位置 :type pos: int 関数 ``cvSetTrackbarPos`` は,指定されたトラックバーの位置をセットします. .. index:: ShowImage cv::ShowImage ------------- .. function:: ShowImage(name,image)-> None 指定されたウィンドウ内に画像を表示します. :param name: ウィンドウの名前 :type name: str :param image: 表示される画像 :type image: :class:`CvArr` 関数 ``cvShowImage`` は,指定されたウィンドウ内に画像を表示します.もし,ウィンドウ作成時にフラグ ``CV_WINDOW_AUTOSIZE`` が指定されていれば,画像は元来のサイズで表示されます.そうでなければ,ウィンドウサイズに合わせて表示画像サイズが変更されます.この関数は,画像のビット深度によっては,それを変更する可能性があります: * 符号なし8ビットである場合,そのまま表示されます. * 符号なし16ビット,あるいは32ビットの整数である場合,ピクセル値を256で割ります.つまり, [0,255*256] の範囲が [0,255] にマッピングされます. * 32ビット浮動小数点数である場合は,ピクセル値に255をかけます.つまり,[0,1] の範囲が [0,255] にマッピングされます. .. index:: WaitKey cv::WaitKey ----------- .. function:: WaitKey(delay=0)-> int キーが押されるまで待機します. :param delay: ミリ秒単位で表される遅延時間 関数 ``cvWaitKey`` は,無限に( :math:`\texttt{delay} <= 0` ),あるいは ``delay`` ミリ秒だけキーイベントを待ちます.キーが押された場合はそのキーコードが,キーが押されないまま指定されたタイムアウト時間が過ぎてしまった場合は -1 が返されます. **注意:** この関数は,HighGUI においてイベントを取得して扱うための唯一の手段です.よって,実行環境がイベント処理を扱ってくれる場合を除けば,通常のイベント処理ではこの関数を周期的に呼び出す必要があります.