詳解 OpenCV 3 ―コンピュータビジョンライブラリを使った画像処理・認識
by Adrian Kaehler, Gary Bradski, 松田 晃一, 小沼 千絵, 永田 雅人, 花形 理
3章OpenCVのデータ型
3.1 基本
以降のいくつかの章では、OpenCVの基本データ型について見ていきます。プリミティブなものから、配列(画像や大きな行列など)を扱うために使われる大きめのデータ構造まであります。見ていく中で、これらのデータを便利に扱うための多彩な関数も取り上げます。本章では、基本のデータ型について学ぶことから取りかかり、ライブラリが提供している便利なユーティリティ関数を調べていきましょう。
3.2 OpenCVのデータ型
OpenCVにはたくさんのデータ型があります。それらはコンピュータビジョンの重要な概念を、比較的簡単かつ直感的な表現と取り扱いができるように設計されています。それと同時に、多くのアルゴリズム開発者たちは、開発者独自のニーズとして、汎用性や拡張性のある比較的強力なプリミティブを必要としています。本ライブラリでは、基本的なデータ型用のテンプレートを使い、かつ、そのテンプレートを特殊化してよく行う操作を簡単にすることで、これら両方のニーズに対処しようとしています。
構成的な観点から、データ型を3つの大きなカテゴリに分割すると便利です。1つ目は基本データ型で、C++のプリミティブ(int、floatなど)を直接集めた型です。これらの型には単純なベクトルや行列の他、点、長方形、サイズなどの単純な幾何学的概念を表したものもあります。2つ目のカテゴリは、より抽象的な概念を表したヘルパーオブジェクトです。ガベージコレクションを行うポインタクラスや、スライス処理に使われる範囲オブジェクト、終了基準のような抽象オブジェクトなどです。3つ目のカテゴリは、大型配列型と呼ばれるものです。大型配列型オブジェクトの基本的な目的は、プリミティブの、さらによくあるのは基本データ型の、配列やその他の集まりを格納することです。このカテゴリの花形は ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access