今回使用するモジュール

画像(動画)データ

opencv

1. 画像の読み込み方法

 imread() で画像データを読み込むことができます
 引数: 画像のパス

2. 画像を表示

 imshow で読み込んだ画像データを表示することができます
 引数: ウィンドウ名, 表示する画像データ

  jupyter notebookで imshow() を使用する場合、単体では使用できません
  waitKey と destroyAllWindowsを使ってキー入力がされたときに画像を閉じるようにします。

2-1. 複数画像を連続して表示する方法(応用?)

3. 画像を書き出す

 imwrite() で画像を書き出すことができます
 引数: 画像名, 画像データ

  第一引数が画像名のみの場合、出力先はこの .ipynb と同じ階層になります
 出力先を指定する場合、画像名と一緒に出力先ディレクトリを指定します。

4. 射影変換

 getPerspectiveTransform() で、任意の四角形から別の任意の四角形に変換するための変換行列を作成することができます
 引数: 返還前の4点, 返還後の4点
 ※対応する4点は順番があっている必要があります。今回はどちらも左上、右上、右下、左下の順で指定しています
 ※また、返還する画像と返還先の画像でサイズは同じにしておく必要があります

  ここでは読み込んだ画像からサッカーフィールドの右側の形(赤枠で囲った部分)に変換するための変換行列を取得します

 warpPerspective() で変換行列を使い、実際に画像を変形させることができます
 引数: 変換する画像, 変換行列, 画像サイズ

5.色空間の変更

 cvtColor() で色空間を変更することができます
 グレースケールも cvtColor() を使用して変換します
 引数: 画像データ, 色空間
 cv2 で読み込んだ画像の色配列は BGR

6. 画像のサイズ変更

 resize() で画像サイズを変更することができます
 引数: 画像データ, (横, 高さ)
 shapeメソッド*1 は Numpy配列ndarray の各次元の形状(サイズ)をタプルとして取得

*1