Book description
Get started in the rapidly expanding field of computer vision with this practical guide. Written by Adrian Kaehler and Gary Bradski, creator of the open source OpenCV library, this book provides a thorough introduction for developers, academics, roboticists, and hobbyists. You’ll learn what it takes to build applications that enable computers to "see" and make decisions based on that data.
With over 500 functions that span many areas in vision, OpenCV is used for commercial applications such as security, medical imaging, pattern and face recognition, robotics, and factory product inspection. This book gives you a firm grounding in computer vision and OpenCV for building simple or sophisticated vision applications. Hands-on exercises in each chapter help you apply what you’ve learned.
This volume covers the entire library, in its modern C++ implementation, including machine learning tools for computer vision.
- Learn OpenCV data types, array types, and array operations
- Capture and store still and video images with HighGUI
- Transform images to stretch, shrink, warp, remap, and repair
- Explore pattern recognition, including face detection
- Track objects and motion through the visual field
- Reconstruct 3D images from stereo vision
- Discover basic and advanced machine learning techniques in OpenCV
Publisher resources
Table of contents
- Preface
- 1. Overview
- 2. Introduction to OpenCV
- 3. Getting to Know OpenCV Data Types
-
4. Images and Large Array Types
-
Dynamic and Variable Storage
- The cv::Mat Class: N-Dimensional Dense Arrays
- Creating an Array
- Accessing Array Elements Individually
- The N-ary Array Iterator: NAryMatIterator
- Accessing Array Elements by Block
- Matrix Expressions: Algebra and cv::Mat
- Saturation Casting
- More Things an Array Can Do
- The cv::SparseMat Class: Sparse Arrays
- Accessing Sparse Array Elements
- Functions Unique to Sparse Arrays
- Template Structures for Large Array Types
- Summary
- Exercises
-
Dynamic and Variable Storage
-
5. Array Operations
-
More Things You Can Do with Arrays
- cv::abs()
- cv::absdiff()
- cv::add()
- cv::addWeighted()
- cv::bitwise_and()
- cv::bitwise_not()
- cv::bitwise_or()
- cv::bitwise_xor()
- cv::calcCovarMatrix()
- cv::cartToPolar()
- cv::checkRange()
- cv::compare()
- cv::completeSymm()
- cv::convertScaleAbs()
- cv::countNonZero()
- cv::cvarrToMat()
- cv::dct()
- cv::dft()
- cv::cvtColor()
- cv::determinant()
- cv::divide()
- cv::eigen()
- cv::exp()
- cv::extractImageCOI()
- cv::flip()
- cv::gemm()
- cv::getConvertElem() and cv::getConvertScaleElem()
- cv::idct()
- cv::idft()
- cv::inRange()
- cv::insertImageCOI()
- cv::invert()
- cv::log()
- cv::LUT()
- cv::magnitude()
- cv::Mahalanobis()
- cv::max()
- cv::mean()
- cv::meanStdDev()
- cv::merge()
- cv::min()
- cv::minMaxIdx()
- cv::minMaxLoc()
- cv::mixChannels()
- cv::mulSpectrums()
- cv::multiply()
- cv::mulTransposed()
- cv::norm()
- cv::normalize()
- cv::perspectiveTransform()
- cv::phase()
- cv::polarToCart()
- cv::pow()
- cv::randu()
- cv::randn()
- cv::randShuffle()
- cv::reduce()
- cv::repeat()
- cv::scaleAdd()
- cv::setIdentity()
- cv::solve()
- cv::solveCubic()
- cv::solvePoly()
- cv::sort()
- cv::sortIdx()
- cv::split()
- cv::sqrt()
- cv::subtract()
- cv::sum()
- cv::trace()
- cv::transform()
- cv::transpose()
- Summary
- Exercises
-
More Things You Can Do with Arrays
- 6. Drawing and Annotating
- 7. Functors in OpenCV
- 8. Image, Video, and Data Files
- 9. Cross-Platform and Native Windows
- 10. Filters and Convolution
- 11. General Image Transforms
- 12. Image Analysis
-
13. Histograms and Templates
- Histogram Representation in OpenCV
- Basic Manipulations with Histograms
- Some More Sophisticated Histograms Methods
-
Template Matching
- Square Difference Matching Method (cv::TM_SQDIFF)
- Normalized Square Difference Matching Method (cv::TM_SQDIFF_NORMED)
- Correlation Matching Methods (cv::TM_CCORR)
- Normalized Cross-Correlation Matching Method (cv::TM_CCORR_NORMED)
- Correlation Coefficient Matching Methods (cv::TM_CCOEFF)
- Normalized Correlation Coefficient Matching Method (cv::TM_CCOEFF_NORMED)
- Summary
- Exercises
- 14. Contours
- 15. Background Subtraction
- 16. Keypoints and Descriptors
- 17. Tracking
- 18. Camera Models and Calibration
- 19. Projection and Three-Dimensional Vision
- 20. The Basics of Machine Learning in OpenCV
- 21. StatModel: The Standard Model for Learning in OpenCV
- 22. Object Detection
- 23. Future of OpenCV
- A. Planar Subdivisions
- B. opencv_contrib
- C. Calibration Patterns
- Bibliography
- Index
Product information
- Title: Learning OpenCV 3
- Author(s):
- Release date: December 2016
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781491937990
You might also like
book
Learning OpenCV
"This library is useful for practitioners, and is an excellent tool for those entering the field: …
book
OpenCV: Computer Vision Projects with Python
Get savvy with OpenCV and actualize cool computer vision applications About This Book Use OpenCV's Python …
book
Computer Vision with OpenCV 3 and Qt5
Blend the power of Qt with OpenCV to build cross-platform computer vision applications About This Book …
book
Mastering OpenCV 4 - Third Edition
Work on practical computer vision projects covering advanced object detector techniques and modern deep learning and …