Learning OpenCV 3. Computer Vision in C++ with the OpenCV Library
![Język publikacji: angielski Język publikacji: angielski](https://static01.helion.com.pl/global/flagi/1.png)
- Autorzy:
- Adrian Kaehler, Gary Bradski
![Learning OpenCV 3. Computer Vision in C++ with the OpenCV Library Adrian Kaehler, Gary Bradski - okładka ebooka](https://static01.helion.com.pl/global/okladki/326x466/e_0d0f.png)
![Learning OpenCV 3. Computer Vision in C++ with the OpenCV Library Adrian Kaehler, Gary Bradski - tył okładki ebooka](https://static01.helion.com.pl/global/okladki-tyl/326x466/e_0d0f.png)
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 1024
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Learning OpenCV 3. Computer Vision in C++ with the OpenCV Library
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
Wybrane bestsellery
-
Ta książka, przeznaczona dla osób znających język C++, jest praktycznym wprowadzeniem do otwartej biblioteki OpenCV w wersji 3.x. Zawiera też podstawowe informacje na temat komputerowego rozpoznawania obrazu, co powinno ułatwić efektywne posługiwanie się tą biblioteką. Sama biblioteka OpenCV zost...(74.50 zł najniższa cena z 30 dni)
74.50 zł
149.00 zł(-50%) -
OpenCV 3 Blueprints. Expand your knowledge of computer vision by building amazing projects with OpenCV 3
Matthew John Macdonald, Jason Clemons, Gary Bradski, Alasdair McAndrew, Steven Puttemans
-
"This library is useful for practitioners, and is an excellent tool for those entering the field: it is a set of computer vision algorithms that work as advertised."-William T. Freeman, Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology Learning OpenCV ...(127.48 zł najniższa cena z 30 dni)
127.28 zł
169.00 zł(-25%) -
Unlock the power of C++ and enhance your algorithmic thinking with this course. From understanding basic operations to mastering complex structures, this course provides a structured pathway for new programmers. Start your coding journey today!
-
Kiedy myślimy o takich aplikacjach jak Maya, VirtualBox, Telegram, Spotify, Dropbox czy Google Earth, być może nie od razu znajdujemy wspólny mianownik. A jest nim framework Qt, używany przez wszystkie te znane marki. Qt powstał z myślą o programowaniu interfejsów graficznych GUI, a ze względu na...(74.50 zł najniższa cena z 30 dni)
104.30 zł
149.00 zł(-30%) -
Dawno, dawno temu, w głębokich latach osiemdziesiątych ubiegłego wieku pewien duński informatyk zainspirowany językiem C opracował jeden z najważniejszych, najbardziej elastycznych i do dziś niezastąpionych języków programowania — C++. Dziś ten język jest wykorzystywany do tworzenia gier ko...(149.40 zł najniższa cena z 30 dni)
149.40 zł
249.00 zł(-40%)
Kup polskie wydanie:
OpenCV 3. Komputerowe rozpoznawanie obrazu w C++ przy użyciu biblioteki OpenCV
- Autor:
- Adrian Kaehler, Gary Bradski
74,50 zł
149,00 zł
(74.50 zł najniższa cena z 30 dni)
Ebooka "Learning OpenCV 3. Computer Vision in C++ with the OpenCV Library" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Learning OpenCV 3. Computer Vision in C++ with the OpenCV Library" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Learning OpenCV 3. Computer Vision in C++ with the OpenCV Library" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-919-3800-3, 9781491938003
- Data wydania ebooka:
-
2016-12-14
Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 42.3MB
- Rozmiar pliku Mobi:
- 82.3MB
Spis treści ebooka
- Preface
- Purpose of This Book
- Who This Book Is For
- What This Book Is Not
- Purpose of This Book
- About the Programs in This Book
- Prerequisites
- How This Book Is Best Used
- Conventions Used in This Book
- Using Code Examples
- OReilly Safari
- Wed Like to Hear from You
- Acknowledgments
- Thanks for Help on OpenCV
- Thanks for Help on This Book
- Adrian Adds...
- Gary Adds...
- 1. Overview
- What Is OpenCV?
- Who Uses OpenCV?
- What Is Computer Vision?
- The Origin of OpenCV
- OpenCV Block Diagram
- Speeding Up OpenCV with IPP
- Who Owns OpenCV?
- Downloading and Installing OpenCV
- Installation
- Windows
- Linux
- Mac OS X
- Installation
- Getting the Latest OpenCV via Git
- More OpenCV Documentation
- Supplied Documentation
- Online Documentation and the Wiki
- OpenCV Contribution Repository
- Downloading and Building Contributed Modules
- Portability
- Summary
- Exercises
- 2. Introduction to OpenCV
- Include Files
- Resources
- Include Files
- First ProgramDisplay a Picture
- Second ProgramVideo
- Moving Around
- A Simple Transformation
- A Not-So-Simple Transformation
- Input from a Camera
- Writing to an AVI File
- Summary
- Exercises
- 3. Getting to Know OpenCV Data Types
- The Basics
- OpenCV Data Types
- Overview of the Basic Types
- Basic Types: Getting Down to Details
- The point classes
- The cv::Scalar class
- The size classes
- The cv::Rect class
- The cv::RotatedRect class
- The fixed matrix classes
- The fixed vector classes
- The complex number classes
- Helper Objects
- The cv::TermCriteria class
- The cv::Range class
- The cv::Ptr template and Garbage Collection 101
- The cv::Exception class and exception handling
- The cv::DataType<> template
- The cv::InputArray and cv::OutputArray classes
- Utility Functions
- cv::alignPtr()
- cv::alignSize()
- cv::allocate()
- cv::deallocate()
- cv::fastAtan2()
- cvCeil()
- cv::cubeRoot()
- cv::CV_Assert() and CV_DbgAssert()
- cv::CV_Error() and CV_Error_()
- cv::error()
- cv::fastFree()
- cv::fastMalloc()
- cvFloor()
- cv::format()
- cv::getCPUTickCount()
- cv::getNumThreads()
- cv::getOptimalDFTSize()
- cv::getThreadNum()
- cv::getTickCount()
- cv::getTickFrequency()
- cvIsInf()
- cvIsNaN()
- cvRound()
- cv::setNumThreads()
- cv::setUseOptimized()
- cv::useOptimized()
- The Template Structures
- Summary
- Exercises
- 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
- Dynamic and Variable Storage
- Summary
- Exercises
- 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()
- More Things You Can Do with Arrays
- Summary
- Exercises
- 6. Drawing and Annotating
- Drawing Things
- Line Art and Filled Polygons
- cv::circle()
- cv::clipLine()
- cv::ellipse()
- cv::ellipse2Poly()
- cv::fillConvexPoly()
- cv::fillPoly()
- cv::line()
- cv::rectangle()
- cv::polyLines()
- cv::LineIterator
- Line Art and Filled Polygons
- Fonts and Text
- cv::putText()
- cv::getTextSize()
- Drawing Things
- Summary
- Exercises
- 7. Functors in OpenCV
- Objects That Do Stuff
- Principal Component Analysis (cv::PCA)
- cv::PCA::PCA()
- cv::PCA::operator()()
- cv::PCA::project()
- cv::PCA::backProject()
- Principal Component Analysis (cv::PCA)
- Singular Value Decomposition (cv::SVD)
- cv::SVD()
- cv::SVD::operator()()
- cv::SVD::compute()
- cv::SVD::solveZ()
- cv::SVD::backSubst()
- Objects That Do Stuff
- Random Number Generator (cv::RNG)
- cv::theRNG()
- cv::RNG()
- cv::RNG::operator T(), where T is your favorite type
- cv::RNG::operator()
- cv::RNG::uniform()
- cv::RNG::gaussian()
- cv::RNG::fill()
- Summary
- Exercises
- 8. Image, Video, and Data Files
- HighGUI: Portable Graphics Toolkit
- Working with Image Files
- Loading and Saving Images
- Reading files with cv::imread()
- Writing files with cv::imwrite()
- Loading and Saving Images
- A Note About Codecs
- Compression and Decompression
- Compressing files with cv::imencode()
- Uncompressing files with cv::imdecode()
- Working with Video
- Reading Video with the cv::VideoCapture Object
- Reading frames with cv::VideoCapture::read()
- Reading frames with cv::VideoCapture::operator>>()
- Reading frames with cv::VideoCapture::grab() and cv::VideoCapture::retrieve()
- Camera properties: cv::VideoCapture::get() and cv::VideoCapture::set()
- Reading Video with the cv::VideoCapture Object
- Writing Video with the cv::VideoWriter Object
- Writing frames with cv::VideoWriter::write()
- Writing frames with cv::VideoWriter::operator<<()
- Data Persistence
- Writing to a cv::FileStorage
- Reading from a cv::FileStorage
- cv::FileNode
- Summary
- Exercises
- 9. Cross-Platform and Native Windows
- Working with Windows
- HighGUI Native Graphical User Interface
- Creating a window with cv::namedWindow()
- Drawing an image with cv::imshow()
- Updating a window and cv::waitKey()
- An example displaying an image
- Mouse events
- Sliders, trackbars, and switches
- Surviving without buttons
- HighGUI Native Graphical User Interface
- Working with the Qt Backend
- Getting started
- The actions menu
- The text overlay
- Writing your own text into the status bar
- The properties window
- Trackbars revisited
- Creating buttons with cv::createButton()
- Text and fonts
- Setting and getting window properties
- Saving and recovering window state
- Interacting with OpenGL
- Working with Windows
- Integrating OpenCV with Full GUI Toolkits
- An example of OpenCV and Qt
- An example of OpenCV and wxWidgets
- An example of OpenCV and the Windows Template Library
- Summary
- Exercises
- 10. Filters and Convolution
- Overview
- Before We Begin
- Filters, Kernels, and Convolution
- Anchor points
- Filters, Kernels, and Convolution
- Border Extrapolation and Boundary Conditions
- Making borders yourself
- Manual extrapolation
- Threshold Operations
- Otsus Algorithm
- Adaptive Threshold
- Smoothing
- Simple Blur and the Box Filter
- Median Filter
- Gaussian Filter
- Bilateral Filter
- Derivatives and Gradients
- The Sobel Derivative
- Scharr Filter
- The Laplacian
- Image Morphology
- Dilation and Erosion
- The General Morphology Function
- Opening and Closing
- Morphological Gradient
- Top Hat and Black Hat
- Making Your Own Kernel
- Convolution with an Arbitrary Linear Filter
- Applying a General Filter with cv::filter2D()
- Applying a General Separable Filter with cv::sepFilter2D
- Kernel Builders
- cv::getDerivKernel()
- cv::getGaussianKernel()
- Summary
- Exercises
- 11. General Image Transforms
- Overview
- Stretch, Shrink, Warp, and Rotate
- Uniform Resize
- cv::resize()
- Uniform Resize
- Image Pyramids
- cv::pyrDown()
- cv::buildPyramid()
- cv::pyrUp()
- The Laplacian pyramid
- Nonuniform Mappings
- Affine Transformation
- cv::warpAffine(): Dense affine transformations
- cv::getAffineTransform(): Computing an affine map matrix
- cv::transform(): Sparse affine transformations
- cv::invertAffineTransform(): Inverting an affine transformation
- Perspective Transformation
- cv::warpPerspective(): Dense perspective transform
- cv::getPerspectiveTransform(): Computing the perspective map matrix
- cv::perspectiveTransform(): Sparse perspective transformations
- General Remappings
- Polar Mappings
- cv::cartToPolar(): Converting from Cartesian to polar coordinates
- cv::polarToCart(): Converting from polar to Cartesian coordinates
- Polar Mappings
- LogPolar
- cv::logPolar()
- Arbitrary Mappings
- cv::remap(): General image remapping
- Image Repair
- Inpainting
- Denoising
- Basic FNLMD with cv::fastNlMeansDenoising()
- FNLMD on color images with cv::fastNlMeansDenoisingColor()
- FNLMD on video with cv::fastNlMeansDenoisingMulti() and cv::fastNlMeansDenoisingColorMulti()
- Histogram Equalization
- cv::equalizeHist(): Contrast equalization
- Summary
- Exercises
- 12. Image Analysis
- Overview
- Discrete Fourier Transform
- cv::dft(): The Discrete Fourier Transform
- cv::idft(): The Inverse Discrete Fourier Transform
- cv::mulSpectrums(): Spectrum Multiplication
- Convolution Using Discrete Fourier Transforms
- cv::dct(): The Discrete Cosine Transform
- cv::idct(): The Inverse Discrete Cosine Transform
- Integral Images
- cv::integral() for Standard Summation Integral
- cv::integral() for Squared Summation Integral
- cv::integral() for Tilted Summation Integral
- The Canny Edge Detector
- cv::Canny()
- Hough Transforms
- Hough Line Transform
- cv::HoughLines(): The standard and multiscale Hough transforms
- cv::HoughLinesP(): The progressive probabilistic Hough transform
- Hough Line Transform
- Hough Circle Transform
- cv::HoughCircles(): the Hough circle transform
- Distance Transformation
- cv::distanceTransform() for Unlabeled Distance Transform
- cv::distanceTransform() for Labeled Distance Transform
- Segmentation
- Flood Fill
- Watershed Algorithm
- Grabcuts
- Mean-Shift Segmentation
- Summary
- Exercises
- 13. Histograms and Templates
- Histogram Representation in OpenCV
- cv::calcHist(): Creating a Histogram from Data
- Histogram Representation in OpenCV
- Basic Manipulations with Histograms
- Histogram Normalization
- Histogram Threshold
- Finding the Most Populated Bin
- Comparing Two Histograms
- Correlation method (cv::COMP_CORREL)
- Chi-square method (cv::COMP_CHISQR_ALT)
- Intersection method (cv::COMP_INTERSECT)
- Bhattacharyya distance method (cv::COMP_BHATTACHARYYA)
- Histogram Usage Examples
- Some More Sophisticated Histograms Methods
- Earth Movers Distance
- Back Projection
- Basic back projection: cv::calcBackProject()
- 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
- Contour Finding
- Contour Hierarchies
- Finding contours with cv::findContours()
- Contour Hierarchies
- Drawing Contours
- A Contour Example
- Another Contour Example
- Fast Connected Component Analysis
- Contour Finding
- More to Do with Contours
- Polygon Approximations
- Polygon approximation with cv::approxPolyDP()
- The Douglas-Peucker algorithm explained
- Polygon Approximations
- Geometry and Summary Characteristics
- Length using cv::arcLength()
- Upright bounding box with cv::boundingRect()
- A minimum area rectangle with cv::minAreaRect()
- A minimal enclosing circle using cv::minEnclosingCircle()
- Fitting an ellipse with cv::fitEllipse()
- Finding the best line fit to your contour with cv::fitLine()
- Finding the convex hull of a contour using cv::convexHull()
- Geometrical Tests
- Testing if a point is inside a polygon with cv::pointPolygonTest()
- Testing whether a contour is convex with cv::isContourConvex()
- Matching Contours and Images
- Moments
- Computing moments with cv::moments()
- Moments
- More About Moments
- Central moments are invariant under translation
- Normalized central moments are also invariant under scaling
- Hu invariant moments are invariant under rotation
- Computing Hu invariant moments with cv::HuMoments()
- Matching and Hu Moments
- Using Shape Context to Compare Shapes
- Structure of the shape module
- The shape context distance extractor
- Hausdorff distance extractor
- Summary
- Exercises
- 15. Background Subtraction
- Overview of Background Subtraction
- Weaknesses of Background Subtraction
- Scene Modeling
- A Slice of Pixels
- Frame Differencing
- Averaging Background Method
- Accumulating Means, Variances, and Covariances
- Computing the mean with cv::Mat::operator+=()
- Computing the mean with cv::accumulate()
- Variation: Computing the mean with cv::accumulateWeighted()
- Finding the variance with the help of cv::accumulateSquare()
- Finding the covariance with cv::accumulateWeighted()
- A brief note on model testing and cv::Mahalanobis()
- Accumulating Means, Variances, and Covariances
- A More Advanced Background Subtraction Method
- Structures
- Learning the Background
- Learning with Moving Foreground Objects
- Background Differencing: Finding Foreground Objects
- Using the Codebook Background Model
- A Few More Thoughts on Codebook Models
- Connected Components for Foreground Cleanup
- A Quick Test
- Comparing Two Background Methods
- OpenCV Background Subtraction Encapsulation
- The cv::BackgroundSubtractor Base Class
- KaewTraKuPong and Bowden Method
- cv::BackgroundSubtractorMOG
- Zivkovic Method
- cv::BackgroundSubtractorMOG2
- Summary
- Exercises
- 16. Keypoints and Descriptors
- Keypoints and the Basics of Tracking
- Corner Finding
- Finding corners using cv::goodFeaturesToTrack()
- Subpixel corners
- Corner Finding
- Introduction to Optical Flow
- Lucas-Kanade Method for Sparse Optical Flow
- How Lucas-Kanade works
- Pyramid Lucas-Kanade code: cv::calcOpticalFlowPyrLK()
- A worked example
- Keypoints and the Basics of Tracking
- Generalized Keypoints and Descriptors
- Optical Flow, Tracking, and Recognition
- How OpenCV Handles Keypoints and Descriptors, the General Case
- The cv::KeyPoint object
- The (abstract) class that finds keypoints and/or computes descriptors for them: cv::Feature2D
- The cv::DMatch object
- The (abstract) keypoint matching class: cv::DescriptorMatcher
- Core Keypoint Detection Methods
- The Harris-Shi-Tomasi feature detector and cv::GoodFeaturesToTrackDetector
- Keypoint finder
- Additional functions
- The Harris-Shi-Tomasi feature detector and cv::GoodFeaturesToTrackDetector
- A brief look under the hood
- The simple blob detector and cv::SimpleBlobDetector
- Keypoint finder
- The FAST feature detector and cv::FastFeatureDetector
- Keypoint finder
- The SIFT feature detector and cv::xfeatures2d::SIFT
- Keypoint finder and feature extractor
- The SURF feature detector and cv::xfeatures2d::SURF
- Keypoint finder and feature extractor
- Additional functions provided by cv::xfeatures2d::SURF
- The Star/CenSurE feature detector and cv::xfeatures2d::StarDetector
- Keypoint finder
- The BRIEF descriptor extractor and cv::BriefDescriptorExtractor
- Feature extractor
- The BRISK algorithm
- Keypoint finder and feature extractor
- Additional functions provided by cv::BRISK
- The ORB feature detector and cv::ORB
- Keypoint finder and feature extractor
- Additional functions provided by cv::ORB
- The FREAK descriptor extractor and cv::xfeatures2d::FREAK
- Feature extractor
- Dense feature grids and the cv::DenseFeatureDetector class
- Keypoint finder
- Keypoint Filtering
- The cv::KeyPointsFilter class
- Matching Methods
- Brute force matching with cv::BFMatcher
- Fast approximate nearest neighbors and cv::FlannBasedMatcher
- Linear indexing with cv::flann::LinearIndexParams
- KD-tree indexing with cv::flann::KDTreeIndexParams
- Hierarchical k-means tree indexing with cv::flann::KMeansIndexParams
- Combining KD-trees and k-means with cv::flann::CompositeIndexParams
- Locality-sensitive hash (LSH) indexing with cv::flann::LshIndexParams
- Automatic index selection with cv::flann::AutotunedIndexParams
- FLANN search parameters and cv::flann::SearchParams
- Displaying Results
- Displaying keypoints with cv::drawKeypoints
- Displaying keypoint matches with cv::drawMatches
- Summary
- Exercises
- 17. Tracking
- Concepts in Tracking
- Dense Optical Flow
- The Farnebäck Polynomial Expansion Algorithm
- Computing dense optical flow with cv::calcOpticalFlowFarneback
- The Farnebäck Polynomial Expansion Algorithm
- The Dual TV-L1 Algorithm
- Computing dense optical flow with cv::createOptFlow_DualTVL1
- The Simple Flow Algorithm
- Computing Simple Flow with cv::optflow::calcOpticalFlowSF()
- Mean-Shift and Camshift Tracking
- Mean-Shift
- Camshift
- Motion Templates
- Estimators
- The Kalman Filter
- What goes in and what comes out
- Assumptions required by the Kalman filter
- Information fusion
- Systems with dynamics
- Kalman equations
- Tracking in OpenCV with cv::KalmanFilter
- Kalman filter example code
- The Kalman Filter
- A Brief Note on the Extended Kalman Filter
- Summary
- Exercises
- 18. Camera Models and Calibration
- Camera Model
- The Basics of Projective Geometry
- Rodrigues Transform
- Lens Distortions
- Camera Model
- Calibration
- Rotation Matrix and Translation Vector
- Calibration Boards
- Finding chessboard corners with cv::findChessboardCorners()
- Subpixel corners on chessboards and cv::cornerSubPix()
- Drawing chessboard corners with cv::drawChessboardCorners()
- Circle-grids and cv::findCirclesGrid()
- Homography
- Camera Calibration
- How many chess corners for how many parameters?
- Whats under the hood?
- Calibration function
- Computing extrinsics only with cv::solvePnP()
- Computing extrinsics only with cv::solvePnPRansac()
- Undistortion
- Undistortion Maps
- Converting Undistortion Maps Between Representations with cv::convertMaps()
- Computing Undistortion Maps with cv::initUndistortRectifyMap()
- Undistorting an Image with cv::remap()
- Undistortion with cv::undistort()
- Sparse Undistortion with cv::undistortPoints()
- Putting Calibration All Together
- Summary
- Exercises
- 19. Projection and Three-Dimensional Vision
- Projections
- Affine and Perspective Transformations
- Birds-Eye-View Transform Example
- Three-Dimensional Pose Estimation
- Pose Estimation from a Single Camera
- Computing the pose of a known object with cv::solvePnP()
- Pose Estimation from a Single Camera
- Stereo Imaging
- Triangulation
- Epipolar Geometry
- The Essential and Fundamental Matrices
- Essential matrix math
- Fundamental matrix math
- How OpenCV handles all of this
- Computing Epipolar Lines
- Stereo Calibration
- Stereo Rectification
- Uncalibrated stereo rectification: Hartleys algorithm
- Calibrated stereo rectification: Bouguets algorithm
- Rectification map
- Stereo Correspondence
- The stereo matching classes: cv::StereoBM and cv::StereoSGBM
- Block matching
- Computing stereo depths with cv::StereoBM
- Semi-global block matching
- Computing stereo depths with cv::StereoSGBM
- Stereo Calibration, Rectification, and Correspondence Code Example
- Depth Maps from Three-Dimensional Reprojection
- Structure from Motion
- Fitting Lines in Two and Three Dimensions
- Summary
- Exercises
- 20. The Basics of Machine Learning in OpenCV
- What Is Machine Learning?
- Training and Test Sets
- Supervised and Unsupervised Learning
- Generative and Discriminative Models
- OpenCV ML Algorithms
- Using Machine Learning in Vision
- Variable Importance
- Diagnosing Machine Learning Problems
- Cross-validation, bootstrapping, ROC curves, and confusion matrices
- Cost of misclassification
- Mismatched feature variance
- Cross-validation, bootstrapping, ROC curves, and confusion matrices
- What Is Machine Learning?
- Legacy Routines in the ML Library
- K-Means
- Problems and solutions
- K-means code
- K-Means
- Mahalanobis Distance
- Using the Mahalanobis distance to condition input data
- Using the Mahalanobis distance for classification
- Summary
- Exercises
- 21. StatModel: The Standard Model for Learning in OpenCV
- Common Routines in the ML Library
- Training and the cv::ml::TrainData Structure
- Constructing cv::ml::TrainData
- Constructing cv::ml::TrainData from stored data
- Secret sauce and cv::ml::TrainDataImpl
- Splitting training data
- Accessing cv::ml::TrainData
- Training and the cv::ml::TrainData Structure
- Prediction
- Common Routines in the ML Library
- Machine Learning Algorithms Using cv::StatModel
- Nave/Normal Bayes Classifier
- The nave/normal Bayes classifier and cv::ml::NormalBayesClassifier
- Nave/Normal Bayes Classifier
- Binary Decision Trees
- Regression impurity
- Classification impurity
- OpenCV implementation
- Decision tree usage
- Decision tree results
- Boosting
- AdaBoost
- Boosting code
- Random Trees
- Random trees code
- Using random trees
- Expectation Maximization
- Expectation maximization with cv::EM()
- K-Nearest Neighbors
- Using K-nearest neighbors with cv::ml::KNearest()
- Multilayer Perceptron
- Back propagation
- The Rprop algorithm
- Using artificial neural networks and back propagation with cv::ml::ANN_MLP
- Parameters for training
- Support Vector Machine
- About kernels
- Handling outliers
- Multiclass extension of SVM
- One-class SVM
- Support vector regression
- Using support vector machines and cv::ml::SVM()
- Additional members of cv::ml::SVM
- Summary
- Exercises
- 22. Object Detection
- Tree-Based Object Detection Techniques
- Cascade Classifiers
- Haar-like features
- Local binary pattern features
- Training and pretrained detectors
- Cascade Classifiers
- Supervised Learning and Boosting Theory
- Boosting in the Haar cascade
- Rejection cascades
- Boosting in the Haar cascade
- Viola-Jones classifier summary
- The cv::CascadeClassifer object
- Searching an image with detectMultiScale()
- Face detection example
- Tree-Based Object Detection Techniques
- Learning New Objects
- Detailed arguments to createsamples
- Detailed arguments to traincascade
- Object Detection Using Support Vector Machines
- Latent SVM for Object Detection
- Object detection with cv::dpm::DPMDetector
- Other methods of cv::dpm::DPMDetector
- Where to get models for cv::dpm::DPMDetector
- Latent SVM for Object Detection
- The Bag of Words Algorithm and Semantic Categorization
- Training with cv::BOWTrainer
- K-means and cv::BOWKMeansTrainer
- Categorization with cv::BOWImgDescriptorExtractor
- Putting it together using a support vector machine
- Summary
- Exercises
- 23. Future of OpenCV
- Past and Present
- OpenCV 3.x
- Past and Present
- How Well Did Our Predictions Go Last Time?
- Future Functions
- Current GSoC Work
- Community Contributions
- OpenCV.org
- Some AI Speculation
- Afterword
- A. Planar Subdivisions
- Delaunay Triangulation, Voronoi Tesselation
- Creating a Delaunay or Voronoi Subdivision
- Navigating Delaunay Subdivisions
- Points from edges
- Locating a point within a subdivision
- Orbiting around a vertex
- Rotating an edge
- Identifying the bounding triangle
- Identifying the bounding triangle or edges on the convex hull and walking the hull
- Usage Examples
- Delaunay Triangulation, Voronoi Tesselation
- Exercises
- B. opencv_contrib
- An Overview of the opencv_contrib Modules
- Contents of opencv_contrib
- An Overview of the opencv_contrib Modules
- C. Calibration Patterns
- Calibration Patterns Used by OpenCV
- Bibliography
- Index
O'Reilly Media - inne książki
-
Large language models (LLMs) and generative AI are rapidly changing the healthcare industry. These technologies have the potential to revolutionize healthcare by improving the efficiency, accuracy, and personalization of care. This practical book shows healthcare leaders, researchers, data scient...(160.65 zł najniższa cena z 30 dni)
160.15 zł
199.00 zł(-20%) -
With hundreds of tools preinstalled, the Kali Linux distribution makes it easier for security professionals to get started with security testing quickly. But with more than 600 tools in its arsenal, Kali Linux can also be overwhelming. The new edition of this practical book covers updates to the ...(174.18 zł najniższa cena z 30 dni)
173.97 zł
209.00 zł(-17%) -
Learn how to implement and manage a modern customer data platform (CDP) through the Salesforce Data Cloud platform. This practical book provides a comprehensive overview that shows architects, administrators, developers, data engineers, and marketers how to ingest, store, and manage real-time cus...(197.34 zł najniższa cena z 30 dni)
197.14 zł
249.00 zł(-21%) -
Real-time applications are becoming the norm today. But building a model that works properly requires real-time data from the source, in-flight stream processing, and low latency serving of its analytics. With this practical book, data engineers, data architects, and data analysts will learn how ...(223.08 zł najniższa cena z 30 dni)
222.88 zł
279.00 zł(-20%) -
Methods of delivering software are constantly evolving in order to increase speed to market without sacrificing reliability and stability. Mastering development end to end, from version control to production, and building production-ready code is now more important than ever. Continuous deploymen...(182.64 zł najniższa cena z 30 dni)
182.58 zł
239.00 zł(-24%) -
As the transformation to hybrid multicloud accelerates, businesses require a structured approach to securing their workloads. Adopting zero trust principles demands a systematic set of practices to deliver secure solutions. Regulated businesses, in particular, demand rigor in the architectural pr...(165.75 zł najniższa cena z 30 dni)
165.65 zł
209.00 zł(-21%) -
This concise yet comprehensive guide explains how to adopt a data lakehouse architecture to implement modern data platforms. It reviews the design considerations, challenges, and best practices for implementing a lakehouse and provides key insights into the ways that using a lakehouse can impact ...(193.19 zł najniższa cena z 30 dni)
192.69 zł
249.00 zł(-23%) -
In today's fast-paced world, more and more organizations require rapid application development with reduced development costs and increased productivity. This practical guide shows application developers how to use PowerApps, Microsoft's no-code/low-code application framework that helps developer...(162.27 zł najniższa cena z 30 dni)
162.17 zł
209.00 zł(-22%) -
Welcome to the systems age, where software professionals are no longer building software&emdash;we're building systems of software. Change is continuously deployed across software ecosystems coordinated by responsive infrastructure. In this world of increasing relational complexity, we need t...(152.01 zł najniższa cena z 30 dni)
151.81 zł
209.00 zł(-27%) -
This book provides an ideal guide for Python developers who want to learn how to build applications with large language models. Authors Olivier Caelen and Marie-Alice Blete cover the main features and benefits of GPT-4 and GPT-3.5 models and explain how they work. You'll also get a step-by-step g...(155.36 zł najniższa cena z 30 dni)
154.86 zł
209.00 zł(-26%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
![Loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
![ajax-loader](https://static01.helion.com.pl/ebookpoint/img/ajax-loader.gif)
Oceny i opinie klientów: Learning OpenCV 3. Computer Vision in C++ with the OpenCV Library Adrian Kaehler, Gary Bradski (0)
Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.