OpenCV3-Pythonチュートリアル

使用方法:Notebookをそれぞれダウンロードし、jupyter notebookを起動する。ただし、ほとんどの章において、それ用の画像や動画などが必要になる。それらにはリンクが貼ってあるので、それもダウンロードしておくこと。また関数には(英語の)マニュアルへのリンク、文献にはPDFへのリンクが貼ってあるので、適宜利用しよう。

OpenCVのGUI機能

目次 : 画像と動画の表示方法と保存方法,およびGUIの機能であるマウスとトラックバーの作り方を学ぶ

基本の処理

目次: 画像に対する基本の処理を学ぶ: 画素値の編集,幾何変換,コードの最適化(code optimization),数学関数など

OpenCVを使った画像処理

目次: OpenCVが提供する様々な画像処理の関数について学ぶ

特徴量検出と特徴量記述

目次 : 特徴検出器,特徴量記述子について学ぶ

動画解析

目次: 動画に対する技術(例えば物体追跡など)を学ぶ

  • Meanshift と Camshift: Notebook
    既に色に基づく追跡を扱っているが,簡単なものであった.今回は “Meanshift” という,物体追跡のためのより良いアルゴリズムと,Meanshiftの改良版である “Camshift” を扱う
  • オプティカルフロー(Optical Flow): Notebook
    ここでは動画解析などのアプリケーションにおいて重要な概念の “Optical Flow” について学ぶ.
  • 背景差分: Notebook
    物体追跡のようなアプリケーションでは,前景物体を抽出する必要がある.背景差分はこのような時によく使われる手法である.

カメラキャリブレーションと3次元復元

目次: カメラキャリブレーション(校正),ステレオ処理などを学ぶ

機械学習

OpenCVが提供する機械学習アルゴリズムの使い方を学ぶ.
  • k近傍法
    k近傍法を使った分類とk近傍法を使った手書き文字認識について学ぶ.
  • サポートベクターマシン(SVM: Support Vector Machines)
    Support Vector Machine (SVM)の概念を理解する.
  • K-Meansクラスタリング
    データを指定したクラスタ数にグループ分けするためにK-Meansクラスタリングを使う.また,K-Meansクラスタリングを使った色の量子化の方法を学ぶ.

Computational Photography

目次: Computational Photographyの技術(ノイズ除去など)を学ぶ.

  • 画像のノイズ除去: Notebook
    画像中のノイズを除去するNon-Local Means Denoising(パターン保存ノイズ除去)という技術を学ぶ.
  • 画像修復: Notebook
    黒い穴や線ができてしまった、古い劣化した写真を持っているだろうか?その写真を使おう.画像修復(inpainting)と呼ばれる技術を使い、そのような写真を復元しよう.
  • 高ダイナミック・レンジ: Notebook
    ダイナミックレンジとは最も明るい部分と最も暗い部分の明暗の比のことである。ハイダイナミックレンジ合成とは、非常に大きなコントラストの元画像を、コントラスト比を落とした画像に変換することである。その手法を学ぶ。

物体検出

OpenCV-Pythonバインディングについて

OpenCVはC++で書かれたモジュールで構成されているが、Pythonからそれを呼び出すようにする機構がバインディングである。その作り方を説明する
  • OpenCV-Pythonバインディングの仕組み
    OpenCV-Pythonバインディングの作り方を学ぶ.