OpenCVの演習

このページは更新を停止しております。移行先のOpenCV 画像処理演習をご利用ください。

開発環境

  • Windows 10
  • Visual C++ Community 2017
  • OpenCV 3.2.0
  • OpenCV contrib 3.2.0
  • インストールディレクトリ C:\opencv\

もくじ

  1. 基本操作
    1. 画像ファイルの読み込みと画像の表示
    2. 画像の色変換とファイル保存
    3. 画像の反転
  2. 動画像処理
    1. 動画ファイルの読み込みと動画の表示
    2. 簡単な動画再生ソフト
    3. 動画像の変換とファイル保存
    4. パソコンに接続したカメラからの映像の取り込み
  3. フィルタリング処理
    1. 平滑化
    2. 輪郭抽出
    3. 濃淡変換
    4. 2値化
    5. ROIの利用
  4. 図形描画
    1. 基本図形の描画
    2. テキストの描画
  5. 行列操作
    1. 行列の宣言と表示
    2. 行列の計算
    3. 行列の浅いコピー、深いコピー
    4. 連立方程式の解
  6. 画素操作
    1. グレイスケール画像の画素
    2. フルカラー画像の画素
    3. フィルタリングの計算
  7. 幾何学変換
    1. 逆変換を使わないアフィン変換(悪い例)
    2. 逆変換を使うアフィン変換
    3. アフィン変換とバイリニア補間
    4. warpAffine関数によるアフィン変換
    5. 対応点からアフィン変換行列を算出
    6. warpPerspective関数による射影変換
    7. 立方体の面への画像の貼り付け

1. 基本操作

1.1 画像ファイルの読み込みと画像の表示

課題
画像ファイルを自分で用意し、その画像を読み込んで表示せよ。

1.2 画像の色変換とファイル保存

課題
PNGフォーマットで画像をファイルに保存せよ。

1.3 画像の反転

課題
原画像を1枚読み込んで、原画像、上下反転画像、左右反転画像、180度回転画像の4つを表示せよ。

2. 動画像処理

2.1 動画ファイルの読み込みと動画の表示

課題
動画の再生速度を変えよ。

2.2 簡単な動画再生ソフト

課題
前方向にスキップや、再生完了後先頭フレームに戻して一時停止、逆再生などの機能を追加せよ。

2.3 動画像の変換とファイル保存

課題
他のフォーマットで動画をファイルに保存せよ。

2.4 パソコンに接続したカメラからの映像の取り込み

課題
カメラから取り込んだ映像を動画ファイルに保存せよ。

3. フィルタリング処理

3.1 平滑化

課題
フィルタサイズを変えて得られる画像の違いを調べよ。

3.2 輪郭抽出

課題
輪郭抽出をする前に画像を平滑化する場合としない場合とで、画像がどのように変わるか調べよ。

3.3 濃淡変換

課題
画像が暗くなるようにガンマ補正を掛けよ。

3.4 2値化

課題
2値画像のオープニング処理とクロージング処理をそれぞれ行い、結果を比較せよ。

3.5 ROIの利用

課題
プログラムを次のように変更し、実行結果を見てROIの働きを理解せよ。
17行目追加 cv::Rect roi2(50, 0, 400, 150);
23行目変更 cv::Mat dstROI = dst(roi2);

4. 図形描画

4.1 基本図形の描画

課題
(1)オセロ盤(8×8マス)の図を描け。中央に黒と白のコマを2個ずつ配置せよ。
(2)整数n の値をキーボードから入力し、正n角形を描け。

4.2 テキストの描画

5. 行列操作

5.1 行列の宣言と表示

5.2 行列の計算

課題
行列Aの転置行列を At、逆行列を A-1と表すこととする。また、行列Aと行列Bの積を A*B と表すこととする。
(1) 正方行列A, Bにおいて、(A*B)t = (Bt)*(At) が成り立つことをプログラムで計算をしてみて確認せよ。
(2) 正方行列Aにおいて、(A-1)t = (At)-1 が成り立つことをプログラムで計算をしてみて確認せよ。

5.3 行列の浅いコピー、深いコピー

5.4 連立方程式の解

課題
3変数の連立1次方程式を解くプログラムを作成せよ。

6. 画素操作

6.1 グレイスケール画像の画素

6.2 フルカラー画像の画素

6.3 フィルタリングの計算

7. 幾何学変換

7.1 逆変換を使わないアフィン変換(悪い例)

7.2 逆変換を使うアフィン変換

7.3 アフィン変換とバイリニア補間

7.4 warpAffine関数によるアフィン変換

7.5 対応点からアフィン変換行列を算出

7.6 warpPerspective関数による射影変換

7.7 立方体の面への画像の貼り付け