Skip to Content
Learning OpenCV 3
book

Learning OpenCV 3

by Adrian Kaehler, Gary Bradski
December 2016
Beginner to intermediate
1024 pages
29h 50m
English
O'Reilly Media, Inc.
Content preview from Learning OpenCV 3

Chapter 7. Functors in OpenCV

Objects That “Do Stuff”

As the OpenCV library has evolved, it has become increasingly common to introduce new objects that encapsulate functionality that is too complicated to be associated with a single function and which, if implemented as a set of functions, would cause the overall function space of the library to become too cluttered.1

As a result, new functionality is often represented by an associated new object type, which can be thought of as a “machine” that does whatever this functionality is. Most of these machines have an overloaded operator(), which officially makes them function objects or functors. If you are not familiar with this programming idiom, the important idea is that unlike “normal” functions, function objects are created and can maintain state information inside them. As a result, they can be set up with whatever data or configuration they need, and they are “asked” to perform services through either common member functions, or by being called as functions themselves (usually via the overloaded operator()2).

Principal Component Analysis (cv::PCA)

Principal component analysis, illustrated in Figure 7-1, is the process of analyzing  a distribution in many dimensions and extracting from that distribution the particular subset of dimensions that carry the most information. The dimensions computed by PCA are not necessarily the basis dimensions in which the distribution was originally specified. Indeed, one of the most important ...

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

Learning OpenCV

Learning OpenCV

Gary Bradski, Adrian Kaehler
OpenCV: Computer Vision Projects with Python

OpenCV: Computer Vision Projects with Python

Joseph Howse, Prateek Joshi, Michael Beyeler

Publisher Resources

ISBN: 9781491937983Errata Page