OpenCV 2 プログラミングブック OpenCV 2.2/2.3対応

OpenCV2.0から登場したC++インターフェースに日本語で初めて?対応した参考書が登場します。

従来のOpenCV プログラミングブックを持っている方も多いかと思いますが、その第3弾です。

 

全くのOpenCV初心者にとっては、少し難しく感じるかも?しれませんが、これまでC言語のOpenCVを使っていた人が、C++インターフェースを使ってみたいという人には、ちょうど良いと思います。
個人的にはcv::Matを画像データに使う事は無いのですが、行列演算に使う分にはC++インターフェースもかなり、便利だと感じました。
ケーススタディもあるので、参考になると思います。

 

 

正誤表はこちらにあるので、読む前にチェックして下さい。
http://book.mycom.co.jp/support/pc/opencv2/#ERRATA

 

【目次】

 

▽Chapter.1 導入 編
1.1 画像処理とコンピュータビジョン
1.2 OpenCV
1.3 OpenCV 2.0
1.4 ライセンス条項

 

▽Chapter.2 スタートアップ 編
1 OpenCV 2.3簡単インストール(Windows編)
1.1 OpenCVの取得
1.2 OpenCVのインストール
1.3 環境変数の設定
1.4 Visual C++ 2010の環境設定
1.5 新規プログラムの作成方法
1.6 サンプルプログラムの実行

2 OpenCVをMacで利用する
2.1 Xcodeのインストール
2.2 MacPortsのインストール
2.3 OpenCVのインストール
2.4 サンプルプログラムによる動作確認
2.5 XcodeでOpenCVを使う

3 Ubuntu 10.04 LTSでOpenCVを利用する
3.1 設定
3.2 luvcviewでキャプチャ
3.3 luvcviewの使い方
3.4 aptパッケージを使ったOpenCVのインストール
3.5 新しいバージョンのOpenCVのインストール

4 C++インタフェース
1 OpenCV 2.0のC++向けインタフェースについて
2 従来のインタフェースとの違い
3 従来のインタフェースとC++インタフェースを混在させる

5 Pythonインタフェース
5.1 Pythonインタフェースのインストール
5.2 Pythonインタフェースを試す

6 GPUによる画像処理
6.1 OpenCVのGPU対応
6.2 OpenCVでGPUを利用した画像処理を行う方法
6.3 インストール
6.4 プログラムの作成
6.5 サンプル

 

▽Chapter.3 リファレンス 編
1 cv::Matの基本処理
1.1 cv::Matを初期化する
1.2 cv::Matのそのほかの処理
1.3 cv::Matの様々なプロパティ
1.4 std::cout への出力
1.5 cv::Matの型(ビット深度)を変換する
1.6 cv::Matをリサイズする
1.7 cv::Matを変形する
1.8 cv::Matの要素をシャッフルする
1.9 cv::Mat_を使う
1.10 cv::Matxを使う
1.11 cv::Vecを使う
1.12 cv::MatとIplImageの相互変換
1.13 cv::MatとCvMatの相互変換
1.14 cv::MatとSTL vectorの相互変換
1.15 cv::Matとcv::Matxの相互変換
1.16 cv::Matとcv::SparseMatの相互変換
1.17 cv::MatとEigen::Matrixの相互変換
1.18 チャンネルの合成と分離
1.19 列/行ごとの合計,平均値,最小,最大値を求める

2 線形代数
2.1 行列要素の四則演算を行う
2.2 行列同士の積を求める
2.3 cv::Vecの内積と外積
2.4 ノルムを求める
2.5 行列式を求める
2.6 行列の転置
2.7 行列の対角成分を取り出す
2.8 行列のトレースを求める
2.9 逆行列/疑似逆行列を求める
2.10 2次元ベクトルの角度と大きさを求める
2.11 角度と大きさから2次元座標を求める
2.12 行列を反転する
2.13 行列要素の最小値・最大値を求める
2.14 2次元点集合間の最適なアフィン変換を推定する
2.15 連立1次方程式を解く

3 画像処理
3.1 画像を単色で塗りつぶす
3.2 色空間を変換する
3.3 画像サイズを変更する
3.4 画像を垂直・水平に反転する
3.5 画像をネガポジ反転する
3.6 画像を2値化する
3.7 画像ピラミッドを作る
3.8 画像を平滑化する(ぼかす)
3.9 点座標集合に外接する図形を求める
3.10 画像の修復・不要オブジェクトを除去する
3.11 直線を検出する
3.12 円を検出する
3.13 楕円フィッティングを行う
3.14 画像のヒストグラムを計算・描画する
3.15 画像の一部を切り抜いて保存する
3.16 画像の一部のみを処理する
3.17 矩形領域のピクセル値をサブピクセル精度で取得する
3.18 顔を検出する
3.19 目を検出する
3.20 複数の矩形をグループ化する
3.21 チャンネルの合成と分離
3.22 画像に境界領域を追加する

4 描画処理
4.1 線分を描く
4.2 矩形を描く
4.3 円を描く
4.4 楕円・円弧を描く
4.5 折れ線を描く
4.6 ポリゴンを描く
4.7 テキストを描く

5 入出力
5.1 画像を表示する
5.2 ファイルから画像を読み込む
5.3 ファイルに画像を書き出す
5.4 カメラ画像をキャプチャする
5.5 画像をメモリ上でエンコード/デコードする
5.6 YAML/XMLを読み込む・書き出す

6 その他の機能
6.1 OpenCVのバージョンを調べる
6.2 処理時間を計測する
6.3 printf風の表記で文字列を出力する
6.4 CV_Assert/CV_DbgAssert
6.5 CPUがサポートする機能(SSEなど)をチェックする

 

▽Chapter.4 ケーススタディ 編
1 画素値の直接操作
1.1 画素単位の操作
1.2 サンプルプログラムと速度比較
1.3 画像のディザリング – 画素値の直接操作事例1
1.4 画像の細線化 – 画素値の直接操作事例2

2 カメラキャリブレーションとステレオ視による距離計測
2.1 カメラキャリブレーション
2.2 ステレオマッチング

3 画像のJPEG圧縮とPSNRの計算
3.1 PSNR
3.2 プログラムと実行結果

4 簡単な笑顔度の算出
4.1 笑顔度の算出方法
4.2 プログラムと実行結果

5 CAPTCHA画像の生成
5.1 解読を困難にするには
5.2 プログラムと実行結果

6 KinectとOpenCVの連携
6.1 Kinectとは
6.2 ドライバ一式のインストール
6.3 プログラムと実行結果

7 ミニチュア風画像処理
7.1 プログラムと実行結果

8 SURF特徴を使ったイメージモザイキング
8.1 イメージモザイキングの流れ
8.2 特徴点抽出
8.3 前フレームとの特徴点の対応付け
8.4 ホモグラフィ行列の推定と画像ワーピング
8.5 画像の重ね合わせ(画像マスク)
8.6 イメージモザイキングプログラムと実行結果

9 機械学習と画像処理
9.1 学習の種類
9.2 混合ガウス分布とEMアルゴリズムを用いたクラスタリング
9.3 OpenCVにおける実装
9.4 オプティカルフローのクラスタリング
9.5 クラスタリング手法の適用
9.6 実行結果

10 顔の子供化
10.1 子供らしく見える顔
10.2 顔の子供化処理

11 Photoshop向けプラグインの作成
11.1 Photoshop プラグインについて
11.2 環境の作成

12 動画ファイルをカメラ入力のように扱う
12.1 動画ファイルの入力
12.2 VideoCaptureのパラメータ

 

OpenCVへ戻る

 

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください