index

第1回の趣旨

Linux

OPenCVサンプルプログラム

練習

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

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

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

  1. samples/open_saveのディレクトリに移動し,以下のコマンドを実行し,コンパイルします.
    $make
  2. コンパイルが通ったら,以下のコマンドを実行します.
    $./main
  3. 何かキーを押すとopen_saveのフォルダにJPG形式で読み込んだ画像を保存し,終了します(save_img.jpg).
  4. サンプルは全部で5種類あります.他のサンプルも問題無く動くことを確認して下さい.
  5. 他のサンプルでは,コマンドライン引数で読み込む画像を指定します.
    $./main ../00.bmp
  6. サンプルで読み込む画像はsamplesフォルダ内のimagesにあります.別の画像を読み込んでみましょう.

サンプルを改造してみよう

  1. 画像に処理を加えるパラメータ(拡大・縮小率,切り取り位置,回転角度など)を変更できるように改造してみよう.

課題:画像処理ソフトを作ろう(基本編)

下記の機能を備えた画像処理ソフトを作成して下さい

  1. 画像ファイルの読み込み・保存
    • コマンドライン引数ではなく,ソフトの起動後でも任意のファイルを指定して読み込めるようにせよ.
    • 下記の画像処理を施した画像を,任意のファイル名で保存できるようにせよ.
  2. リサイズ
    • 任意のサイズ,任意の拡大・縮小率を指定してリサイズできるようにせよ.
  3. 切り取り
    • 任意の位置とサイズを指定して画像の一部を切り取れるようにせよ.
  4. 反転
    • 任意の
  5. 元画像と検出器のファイル名をコマンドライン引数で指定
    • 検出器は&ref(): File not found: "haarcascade_frontalface_default.zip" at page "画像処理ソフトを作ろう(基本編)";をダウンロードして使用せよ.
    • テスト用の元画像は&ref(): File not found: "TestSample.zip" at page "画像処理ソフトを作ろう(基本編)";を使用せよ(自分で用意した画像で試してみるのも良い).
  6. 指定された元画像のロード
    • _00_img_openを参考にせよ.
  7. 元画像のグレースケール化および平滑化
    • _04_grayおよび03_smoothを参考にせよ.
  8. 検出器のロード
    • カスケードの作成
      cascade = (CvHaarClassifierCascade*)cvLoad("検出器のファイル名");
  9. 顔検出
    • メモリの確保
      storage = cvCreateMemStorage(0);
    • 顔領域候補の検出
      CvSeq* faces //顔領域候補のリスト
      faces = cvHaarDetectObjects(image, cascade, storage, scale_factor, min_neighbors, flags, min_size);
    • パラメータを変化させ,検出結果への影響を確認せよ.
      scale_factor, min_neighbors, flags, min_size
  10. 顔領域に矩形を描画
    • for文を使って元画像の顔領域候補に矩形を描画
      faces->total //顔領域の候補数
      CvRect face_rect 顔領域候補の座標・サイズを格納する構造体
      face_rect = *(CvRect*)cvGetSeqElem(faces, i); //i番目の顔領域候補を構造体に格納
      face_rect.x, face_rect.y //左上の座標
      face_rect.width, face_rect.height //領域のサイズ
      cvRectangle(image, pt1, pt2, color, thickness, line_type, shift); //矩形の描画
  11. 検出結果の表示,何かキーが押されたら終了
    • _00_img_openを参考にせよ.

注意事項

提出方法

評価方法

参考になるサイト

質問がある場合


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