Skip to Content
Learning OpenCV, 2nd Edition
book

Learning OpenCV, 2nd Edition

by Adrian Kaehler, Gary Bradski
December 2014
Beginner to intermediate
575 pages
19h 37m
English
O'Reilly Media, Inc.
Content preview from Learning OpenCV, 2nd Edition
Histogram Normalization
When dealing with a histogram, we first need to accumulate information into its various bins. Once we
have done this, however, it is often desirable to work with the histogram in normalized form, so that
individual bins will represent the fraction of the total number of events assigned to the entire histogram. In
the C++ API, this can be accomplished simply using the array algebra operators and operations:
cv::Mat normalized = my_hist / my_hist.Sum();
or:
my_hist /= my_hist.Sum()
Histogram Threshold
It is also common that you wish to threshold a histogram, and (for example) throw away all bins whose
entries contain less than some minimum number of counts. Like normalization, this operation can be
accomplished without the use of any particular special histogram routine. Instead, you can use the standard
array threshold function:
cv::threshold(
my_hist, // input histogram
my_thresholded_hist, // result with all values<threshold set to zero
threshold, // cutoff value
0, // value does not matter in this case
cv::THRESH_TOZERO // threshold type
);
Finding the Most Populated Bin
In some cases, you would like to find the bins that are above some threshold, and throw away the others. In
other cases, you would like to simply find the one bin that has the most weight in it. This is particul ...
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 3

Learning OpenCV 3

Adrian Kaehler, Gary Bradski
Learning OpenCV

Learning OpenCV

Gary Bradski, Adrian Kaehler
Mastering OpenCV 4 with Python

Mastering OpenCV 4 with Python

Alberto Fernández Villán
Building Computer Vision Projects with OpenCV 4 and C++

Building Computer Vision Projects with OpenCV 4 and C++

David Millan Escriva, Prateek Joshi, Vinicius G. Mendonca, Roy Shilkrot

Publisher Resources

ISBN: 9781449331955Errata