本書は、コンピュータビジョンを扱うOpenCVを利用して、観る人の観点から映像の意味的内容を理解しようという試みをいくつか紹介するものです。
コンピュータビジョンとは、映像あるいは画像に映し出された実世界の風景をコンピュータを用いて処理、認識する研究分野です。文字認識や、ディジタルカメラの顔認識、監視カメラにおけるヒトの追跡などの技術がこの分野に内包されています。こうした技術の用いる数学的な技法やアルゴリズムは初学者には敷居の高いものですが、そうした機能をあらかじめ用意しているOpenCVを用いれば、もっと気軽に利用できます。
コンピュータビジョンは一般的に、画像に映し出されているモノは何であるか、という課題に主として専念しています。OpenCVに実装されている各種の関数(機能)も、映したモノの形状はどうなっているか、所定の形のモノはどこにあるか、といった画像内のモノの特徴を捕らえることを目的としたものがほとんどです。しかし、私たちは、映像に何が映っているかよりは、その映像が何を語ろうとしているのかという、意味的な内容、たとえばその映像が面白いのかなどに興味を持つ傾向が強いものです。
本書では、映像を意味的に理解するという題材の中から、内容的に楽しんでもらえそうな技法を抜粋して紹介します。具体的には、ショットの中でもっとも代表的なフレームを探す(4.3節、5.2節)、ヒトが映像から感じる動きを反映した代表値を検討する(4.4節)、映像から感受される感情を判定する(5.3節)、ショット長を計算する(第6章)、立体映像の飛び出し具合を視認する(第7章)です。
本書ではまた、こうした技術をどのようにプログラムに起こすかを、C言語はだいたいわかっているがOpenCVは初心者だという方にもわかりやすいようにサンプルプログラムをつけて説明します。OpenCVというものがあり、あれこれと多機能なのは聞き及んでいるが、どういう目的に用いると面白いのかがいまひとつピンとこないという方にも、面白く読んでもらえると思っています。また、OpenCVは気になっているが、導入しようとなるとどうやってよいかわからないという方のために、インストールから開発環境までの手順、開発あるいは実行時に必要になることもあるWindowsコマンドプロンプトの最小限の使い方などを付録で説明しました。