Skip to Content
詳解 OpenCV 3 ―コンピュータビジョンライブラリを使った画像処理・認識
book

詳解 OpenCV 3 ―コンピュータビジョンライブラリを使った画像処理・認識

by Adrian Kaehler, Gary Bradski, 松田 晃一, 小沼 千絵, 永田 雅人, 花形 理
May 2018
Intermediate to advanced
992 pages
17h 31m
Japanese
O'Reilly Japan, Inc.
Content preview from 詳解 OpenCV 3 ―コンピュータビジョンライブラリを使った画像処理・認識

7章OpenCVのファンクタ

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

OpenCVライブラリが進化するにつれ、新しいオブジェクトが次々に導入されてきました。これらは、1つの関数に関連づけるには複雑すぎたり、複数の関数として実装するとライブラリの関数空間全体が乱雑になってしまったりするような機能をカプセル化したものです†1

[†1] このようなオブジェクトの1つとして、前章ではcv::LineIteratorオブジェクトを簡単に説明しました。

このため、新しい機能がそれに関連する新しいオブジェクト型によって表現されることがよくあります。このオブジェクト型は、その機能を実行する「機械」であると考えられます。これらの機械のほとんどは、オーバーロードされたoperator()を持っており、その場合は正式な関数オブジェクトあるいはファンクタになります。このようなプログラミング方法に慣れていない方に説明すると、「通常の」関数と大きく違うのは、関数オブジェクトは生成されるものであり、その内部に状態の情報を保持できるという点です。結果として、関数オブジェクトは必要であればどのようなデータや設定情報でも設定できます。そして、一般的なメンバー関数を通して、または(通常はオーバーロードされたoperator()を通して†2)関数オブジェクト自身が関数として呼び出されることで、「頼まれ」てサービスを実行します。

[†2] ここで通常はと言ったのは、「通常、ユーザーが関数オブジェクトをプログラムするときには」という意味であって、「OpenCVライブラリにおいて通常は」という意味ではありません。OpenCVには、その設定情報を読み込むにはオーバーロードされたoperator()を使い、そのオブジェクトの基本的なサービスを提供するには名前付きメンバー関数を使うという慣習があります。この慣習は一般にはあまり標準的なものではありませんが、OpenCVライブラリの中ではきわめてよく使われています。 ...

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

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

入門 監視 ―モダンなモニタリングのためのデザインパターン

入門 監視 ―モダンなモニタリングのためのデザインパターン

Mike Julian, 松浦 隼人
詳解 iOS SDK 第4版 ―ワンランク上のiPhone/iPadプログラミング

詳解 iOS SDK 第4版 ―ワンランク上のiPhone/iPadプログラミング

Matt Neuburg, 武舎 広幸, 阿部 和也, 河村 政雄, 上西 昌弘, 福地 太郎
行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

行動を変えるデザイン ―心理学と行動経済学をプロダクトデザインに活用する

Stephen Wendel, 武山 政直, 相島 雅樹, 反中 望, 松村 草也

Publisher Resources

ISBN: 9784873118376Other