関連サイト
本書の関連ページが用意されています。
内容紹介
ヒトとコンピュータにはそれぞれ得手不得手が存在します。その代表的なものが画像・映像の解釈ではないでしょうか。とある人物の全身写真を見た場合、皆さんはどこが顔であるか、手はどこか、どういった服装をしているかをすぐに理解できます。しかし、コンピュータの視点から見ると、顔、手はおろか人物の全身写真であることも理解できません。コンピュータにとっては色味をもった小さな点が不規則に集合している、という認識でしかないのです。 近年、技術の進歩によりそういった垣根は取り払われつつあります。たとえばデジタルカメラでの顔認識に代表されるようなものが数多く生まれてきました。しかし、そういった機能を自ら実装するには、高い知識・スキルが必要なことは言うまでもなく、満足する精度をもたらすにはさらなる努力が必要であることは容易に想像できます。
OpenCV(Open Source Computer Vision)は、そういった機能を誰でも利用できるように開発された、オープンソースのコンピュータビジョンライブラリです。耳慣れない用語が多く登場するため、敷居が高いように思う方もいらっしゃるかもしれませんが、処理前・処理後で目に見える形で変化する機能も多いため、視覚的な変化の少ないコンソールアプリケーションよりも楽しく感じる方も多いでしょう。
OpenCVにはC++インターフェースなどもありますが、本書はPythonインターフェースをターゲットにしています。ループの多いリアルタイムな映像処理など、高負荷なプログラムにおいてはC++を利用した方がよい場合もあります。しかしながら、ほとんどのプログラムは問題なく動きますし、何と言ってもスクリプト言語の特徴であるコンパイルを必要としない実行環境は、とても魅力的です。
PythonインターフェースのOpenCVは導入も難しくありません。Python自体の習得しやすさも相まって、コンピュータビジョンの世界に足を踏み入れるにはよい選択だと思います。本書がその一助となれば幸いです。
書誌情報
- 著者: 桑井 博之, 豊沢 聡, 永田 雅人(著)
- 発行日: 2014-07-10 (紙書籍版発行日: 2014-07-10)
- 最終更新日: 2014-07-10
- バージョン: 1.0.0
- ページ数: 352ページ(PDF版換算)
- 対応フォーマット: PDF, ZIP
- 出版社: カットシステム
対象読者
著者について
桑井 博之
1979年生まれ埼玉県出身。学生時代はPCを扱ったことがほとんどなく、2本指タイピングからスタート。システム開発に携わりながらIT知識、プログラミングスキルを身に着け、Python、Java、Objective-Cを利用したアプリケーション開発やサーバー構築を行う。2012年よりフリーランスSE として活動中。
豊沢 聡
電話会社や各種教育産業をはしごした後、現在は無職。著書、訳書、監修書は、これで25冊目。主な著作に「実践Javaインターネットプログラミング」(カットシステム、2002)、「コマンドで理解するTCP/IP」(アスキー・メディアワークス、2008)、訳書に「IPv6エッセンシャルズ第2版」(オライリー・ジャパン、2007)、「OpenCL詳説」(カットシステム、2011)、監修書に「実践OpenCV2.4」(カットシステム、2013)がある。
永田 雅人
地元は福岡県福岡市。早稲田大学理工学部電気電子情報工学科卒、同大学院理工学研究科情報ネットワーク専攻修士課程修了。その後、横浜国立大学大学院の博士後期課程で人間の視覚について学び、現在は非常勤共同研究員として働いている。幼少期(Z80系マイコン~DOSの時代)には趣味として電子工作やプログラミングに熱中していた。著書に「実践OpenCV 2.4」(カットシステム、2013)、「実践OpenCV」(カットシステム、2009)、共著書に「ディジタル映像分析- OpenCVによる映像内容の解析」(カットシステム、2012)、訳書に「OpenCL詳説」(カットシステム、2011)がある。
目次
第1章 OpenCVについて
- 1.1 OpenCVとは
- 1.2 OpenCVの機能と構成
- 1.3 OpenCVの使用例
- 1.4 OpenCVでの映像処理の流れ
- 1.5 カラーモデル
- 1.6 画像配列
- 1.7 旧バージョン
第2章 画像・映像入出力
- 2.1 画像ファイルの表示
- 2.2 画像ファイルの処理と保存
- 2.3 ビデオファイルの表示
- 2.4 ビデオファイルの処理と保存
- 2.5 カメラ映像の表示
- 2.6 カメラ映像の処理と保存
第3章 映像処理
- 3.1 カラーチャンネルの分離と合成
- 3.2 移動物体の抽出(浮動小数点数型画像)
- 3.3 空間フィルタリング(オリジナルフィルタ)
- 3.4 クロマキー合成とカラーモデル変換
第4章 基本操作
- 4.1 テキストとグラフィックスの描画
- 4.2 ピクセルの直接操作(映像処理)
- 4.3 ピクセルの直接操作(アニメーション生成)
- 4.4 2値化処理とトラックバー
- 4.5 マウスイベントの取得
第5章 映像解析
- 5.1 テンプレートマッチング
- 5.2 オプティカルフロー検出
- 5.3 特徴点抽出と物体追跡
- 5.4 離散フーリエ変換を用いた周波数フィルタリング
- 5.5 モーションテンプレート
- 5.6 物体検出(顔、眼、人物)
付 録
- 付録A OpenCVの導入(Windows)
- 付録B Python/Numpyの導入
- 付録C Windowsコマンドプロンプト
- 付録D OpenCVの導入(Mac OS X)
- 付録E Python/Numpyの導入(Mac OS X)
- 付録F Mac OS Xターミナル
- 付録G Numpyライブラリの用例
- 付録H OpenCV関数リスト
- 付録I ライセンス
- 付録J 参考文献