MENU

なかぴょん

元WEBディレクターがPythonエンジニアになるために勉強中です。プログラミング記事多めに更新していきます。ブログ関連記事も少々。

OpenCVを機械学習に使いたいなら持っておきたい一冊【詳解OpenCV 3-コンピュータビジョンライブラリを使った画像処理・認識】

OpenCVを機械学習に使いたいのなら持っておきたい一冊【詳解OpenCV 3―コンピュータビジョンライブラリを使った画像処理・認識】を紹介

なかぴょんです。

OpenCVを機械学習に活用しようと思い、「詳解OpenCV 3―コンピュータビジョンライブラリを使った画像処理・認識」を軽く読んでみました。

「詳解OpenCV 3―コンピュータビジョンライブラリを使った画像処理・認識」って実物を見たらわかるかと思うのですが、ものすごい分厚い書籍です。

見た目だけ見ると、辞書にしか見えず、読むのを敬遠している方も多いかと思います。

なので、どういった情報が書かれていて、どんな人におすすめの本なのか紹介してきます。

「詳解OpenCV 3―コンピュータビジョンライブラリを使った画像処理・認識」の購入を検討している方は、参考にしてみてください。

「詳解OpenCV 3」で学べること

「詳解OpenCV 3」で学べること

  • OpenCVを使った画像処理・認識の知識が学べる
  • C++を使ったOpenCVの実装ができるようになる
  • OpenCVによる機械学習の基本が学べる

「詳解OpenCV 3」はこんな人におすすめ

図や式などを用いて、OpenCVの解説や画像処理の基本が説明されているため、見た目以上に読みやすい書籍だと思います。

技術書を読むことに抵抗があまりない人なら、問題なく読み進めていけます。

最後まで、根気強く読んでいけば画像処理の大まかな流れと処理を理解できるかと思います。

ただ、OpenCVを初めて勉強する人には少しハードルが高いかもしれません。

OpenCVに関する知識があまりないという方は、以前紹介した動画講座で学習するのが良いです。

紹介した講座では、OpenCVを使うメリット・デメリットなどがわかりやすくまとめられているので、大まか全体像の把握には最適です。

「詳解OpenCV 3」を読む上での事前準備

「詳解OpenCV 3」を読む上での事前準備

プログラムコードがC++で書かれているため、C++の基礎的な文法を理解している必要があります。

数学的な内容が書かれた章があり、簡単な代数と基本的な行列代数が使用されています。

そのため、関数の微分について基礎的な知識があると、書籍の内容が頭に入りやすいかと思います。

書籍内のプログラム例はすべて、「OpenCV 3.x」に基づいて記載されています。

サンプルコードは、LinuxやWindowsで動きますし、macOSでも動くかと思います。

オンラインのリファレンスを参考にすれば、「OpenCV 3.x」をAndroidやiOSで実行させることも可能です。

「詳解OpenCV 3」に書かれている内容

「詳解OpenCV 3―コンピュータビジョンライブラリを使った画像処理・認識」に書かれている内容を紹介しています。

記事内では省いていますが、各章ごとにまとめと練習問題があります。

1章 概要

1.1 OpenCVとは何か?
1.2 OpenCVを使うのはだれか?
1.3 コンピュータビジョンとは何か?
1.4 OpenCVの起源
1.5 OpenCVをダウンロード、インストールする
1.6 Gitから最新のOpenCVを入手する
1.7 その他のOpenCVドキュメント
1.8 OpenCVの寄贈リポジトリ
1.9 移植性

2章 OpenCV入門

2.1 インクルードファイル
2.2 初めてのプログラム――写真を表示する
2.3 2つ目のプログラム――動画
2.4 動き回る
2.5 簡単な変換
2.6 少し複雑な変換
2.7 カメラからの入力
2.8 AVIファイルへ書き込む

3章 OpenCVのデータ型

3.1 基本
3.2 OpenCVのデータ型

4章 画像と大型配列型

4.1 動的可変長ストレージ

5章 配列の演算

5.1 配列でできる多様な処理

6章 描画方法とテキスト表示方法

6.1 図形を描画する

7章 OpenCVのファンクタ

7.1 「何かをする」オブジェクト

8章 画像、動画、データファイル

8.1 HighGUI:ポータブルなグラフィックスツールキット
8.2 画像ファイルを扱う
8.3 動画を扱う
8.4 データの保存

9章 クラスプラットフォームとネイティブウィンドウ

9.1 ウィンドウで作業する

10章 フィルタとコンボリューション

10.1 概要
10.2 始める前に
10.3 閾値処理
10.4 平滑化
10.5 微分と勾配
10.6 画像のモルフォロジー
10.7 任意の線形フィルタによるコンボリューション

11章 画像変換

11.1 概要
11.2 拡大、縮小、ワープ(歪曲)、回転
11.3 汎用的な写像
11.4 画像修復
11.5 ヒストグラムの平坦化

12章 画像解析

12.1 概要
12.2 離散フーリエ変換
12.3 積分画像
12.4 Cannyエッジ検出器
12.5 Hough変換
12.6 距離変換
12.7 領域分割

13章 ヒストグラムとテンプレートマッチング

13.1 OpenCVでのヒストグラムの表現
13.2 ヒストグラムの基本操作
13.3 もう少し洗練されたヒストグラムの手法
13.4 テンプレートマッチング

14章 輪郭

14.1 輪郭を見つける
14.2 輪郭に対してさらに何かを行う
14.3 輪郭と画像をマッチングする

15章 背景除去

15.1 背景除去の概要
15.2 背景除去の弱点
15.3 シーンのモデル化
15.4 平均背景法
15.5 より高度な背景除去手法
15.6 前景除去のための連結成分
15.7 背景手法を比較する
15.8 OpenCVの背景除去のカプセル化

16章 キーポイントと記述子

16.1 キーポイントとトラッキングの基礎
16.2 一般化されたキーポイントと記述子

17章 トラッキング

17.1 トラッキングの概念
17.2 密なオプティカルフロー
17.3 平均値シフトとCamshiftトラッキング
17.4 モーションテンプレート
17.5 推定器

18章 カメラモデルとキャリブレーション

18.1 カメラモデル
18.2 キャリブレーション
18.3 歪み補正
18.4 キャリブレーションを全部まとめる

19章 射影変換と3次元ビジョン

19.1 射影
19.2 アフィン変換と透視変換
19.3 3次元姿勢推定
19.4 ステレオ画像処理
19.5 動画像からの3次元復元
19.6 2次元と3次元の線のフィッティング処理

20章 OpenCVによる機械学習の基本

20.1 機械学習とは?
20.2 MLライブラリの古い関数群

21章 StatModelクラス:OpenCVの学習標準モデル

21.1 MLライブラリの共通ルーチン
21.2 cv::ml::StatModelを用いた機械学習アルゴリズム

22章 物体検出

23章 OpenCVの今後

まとめ

今回は、「詳解OpenCV 3―コンピュータビジョンライブラリを使った画像処理・認識」を紹介しました。

OpenCVを機械学習に活用する際の基礎知識が学べるだけでなく、画像処理の大まかな流れと処理を理解するための技術書としても使えます。

何かわからないことが出てきた時の辞書代わりに使うこともできる書籍なので、一冊持っておくと心強いです。

記事内でも説明しましたが、OpenCVを初めて勉強する人には少しハードルが高い書籍です。

ページ数が900を超える書籍です。。。

OpenCVに関する知識があまりないという方は、以前紹介した動画講座で学習するのが良いです。

OpenCVを活用して画像処理や認識をやってみたい方は、ぜひ、試してみてください!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Twitter
SHARE