index

第3回の趣旨

OPenCVの機能の複合的利用

GUIに挑戦

サンプルの実行

サンプルプログラムのダウンロード

  1. ここからダウンロード。
  2. ダウンロードしたら適当な場所で解凍しましょう。

サンプルプログラムを動かしてみよう

  1. 第1回と同様に、3つのサンプルプログラム(trackbar、mouse、change_pix)を動かしてみよう。
  2. change_pixでは、コマンドライン引数で画像を読み込みます。
    ./main ../images/00.bmp
  3. change_pixでは、imagesフォルダ内の別の画像も読み込んでみましょう。

解説

cvCreateTrackbar?関数

トラックバーを作成して、指定されたウィンドウに追加する関数です。

cvCreateTrackbar("Trackbar", "Window", 0, 100, on_trackbar);

では、ウィンドウ"Window"にトラックバー"Trackbar"(最大値100)を生成し、
トラックバーに変化があるたびに、on_trackbar関数が呼び出されます。 on_trackbar関数

on_trackbar(int val)

は、トラックバーの値を引数にしています。

cvSetMouseCallback?関数

マウスイベントに対するコールバックを指定する関数です。

cvSetMouseCallback("Window", on_mouse);

では、ウィンドウ"Window"内でマウスイベント(クリックなど)が発生するたびに、
on_mouse関数が呼び出されます。 on_mouse関数

void on_mouse(int event, int x, int y, int flags, void *param = NULL)

は、マウスがどのような状態なのかを引数にしており、この値はcvSetMouseCallback?が設定します。

int x, y

は画像座標系におけるマウスポインタの座標。

int event

はイベントの内容。例えば、マウスが移動しただと、eventの値がCV_EVENT_MOUSEMOVEになります。
他にどのようなイベントがあるか、調べてみてください。

練習2:画素値操作機能のGUI化

  1. 画像を読み込む。
  2. トラックバーでR(赤)チャンネルの値の倍率を指定する。
  3. 加工した画像を表示する。

課題2:食べ物の写真を美味しそうに加工しよう!

注意事項

提出方法

評価方法

参考になるサイト

質問がある場合


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS