Cover image for Mastering OpenCV with Practical Computer Vision Projects.
Mastering OpenCV with Practical Computer Vision Projects.
Title:
Mastering OpenCV with Practical Computer Vision Projects.
Author:
Emami, Shervin.
ISBN:
9781849517836
Personal Author:
Physical Description:
1 online resource (352 pages)
Contents:
Mastering OpenCV with Practical Computer Vision Projects -- Table of Contents -- Mastering OpenCV with Practical Computer Vision Projects -- Credits -- About the Authors -- About the Reviewers -- www.PacktPub.com -- Support files, eBooks, discount offers and more -- Why Subscribe? -- Free Access for Packt account holders -- Preface -- What this book covers -- What you need for this book -- Who this book is for -- Conventions -- Reader feedback -- Customer support -- Downloading the example code -- Errata -- Piracy -- Questions -- 1. Cartoonifier and Skin Changer for Android -- Accessing the webcam -- Main camera processing loop for a desktop app -- Generating a black-and-white sketch -- Generating a color painting and a cartoon -- Generating an "evil" mode using edge filters -- Generating an "alien" mode using skin detection -- Skin-detection algorithm -- Showing the user where to put their face -- Implementation of the skin-color changer -- Porting from desktop to Android -- Setting up an Android project that uses OpenCV -- Color formats used for image processing on Android -- Input color format from the camera -- Output color format for display -- Adding the cartoonifier code to the Android NDK app -- Reviewing the Android app -- Cartoonifying the image when the user taps the screen -- Saving the image to a file and to the Android picture gallery -- Showing an Android notification message about a saved image -- Changing cartoon modes through the Android menu bar -- Reducing the random pepper noise from the sketch image -- Showing the FPS of the app -- Using a different camera resolution -- Customizing the app -- Summary -- 2. Marker-based Augmented Reality on iPhone or iPad -- Creating an iOS project that uses OpenCV -- Adding OpenCV framework -- Including OpenCV headers -- Application architecture -- Accessing the camera -- Marker detection.

Marker identification -- Grayscale conversion -- Image binarization -- Contours detection -- Candidates search -- Marker code recognition -- Reading marker code -- Marker location refinement -- Placing a marker in 3D -- Camera calibration -- Marker pose estimation -- Rendering the 3D virtual object -- Creating the OpenGL rendering layer -- Rendering an AR scene -- Summary -- References -- 3. Marker-less Augmented Reality -- Marker-based versus marker-less AR -- Using feature descriptors to find an arbitrary image on video -- Feature extraction -- Definition of a pattern object -- Matching of feature points -- PatternDetector.cpp -- Outlier removal -- Cross-match filter -- Ratio test -- PatternDetector.cpp -- Homography estimation -- PatternDetector.cpp -- Homography refinement -- PatternDetector.cpp -- Putting it all together -- Pattern pose estimation -- PatternDetector.cpp -- Obtaining the camera-intrinsic matrix -- Pattern.cpp -- Application infrastructure -- ARPipeline.hpp -- ARPipeline.cpp -- Enabling support for 3D visualization in OpenCV -- Creating OpenGL windows using OpenCV -- Video capture using OpenCV -- Rendering augmented reality -- ARDrawingContext.hpp -- ARDrawingContext.cpp -- Demonstration -- main.cpp -- Summary -- References -- 4. Exploring Structure from Motion Using OpenCV -- Structure from Motion concepts -- Estimating the camera motion from a pair of images -- Point matching using rich feature descriptors -- Point matching using optical flow -- Finding camera matrices -- Reconstructing the scene -- Reconstruction from many views -- Refinement of the reconstruction -- Visualizing 3D point clouds with PCL -- Using the example code -- Summary -- References -- 5. Number Plate Recognition Using SVM and Neural Networks -- Introduction to ANPR -- ANPR algorithm -- Plate detection -- Segmentation -- Classification -- Plate recognition.

OCR segmentation -- Feature extraction -- OCR classification -- Evaluation -- Summary -- 6. Non-rigid Face Tracking -- Overview -- Utilities -- Object-oriented design -- Data collection: Image and video annotation -- Training data types -- Annotation tool -- Pre-annotated data (The MUCT dataset) -- Geometrical constraints -- Procrustes analysis -- Linear shape models -- A combined local-global representation -- Training and visualization -- Facial feature detectors -- Correlation-based patch models -- Learning discriminative patch models -- Generative versus discriminative patch models -- Accounting for global geometric transformations -- Training and visualization -- Face detection and initialization -- Face tracking -- Face tracker implementation -- Training and visualization -- Generic versus person-specific models -- Summary -- References -- 7. 3D Head Pose Estimation Using AAM and POSIT -- Active Appearance Models overview -- Active Shape Models -- Getting the feel of PCA -- Triangulation -- Triangle texture warping -- Model Instantiation - playing with the Active Appearance Model -- AAM search and fitting -- POSIT -- Diving into POSIT -- POSIT and head model -- Tracking from webcam or video file -- Summary -- References -- 8. Face Recognition using Eigenfaces or Fisherfaces -- Introduction to face recognition and face detection -- Step 1: Face detection -- Implementing face detection using OpenCV -- Loading a Haar or LBP detector for object or face detection -- Accessing the webcam -- Detecting an object using the Haar or LBP Classifier -- Grayscale color conversion -- Shrinking the camera image -- Histogram equalization -- Detecting the face -- Step 2: Face preprocessing -- Eye detection -- Eye search regions -- Geometrical transformation -- Separate histogram equalization for left and right sides -- Smoothing -- Elliptical mask.

Step 3: Collecting faces and learning from them -- Collecting preprocessed faces for training -- Training the face recognition system from collected faces -- Viewing the learned knowledge -- Average face -- Eigenvalues, Eigenfaces, and Fisherfaces -- Step 4: Face recognition -- Face identification: Recognizing people from their face -- Face verification: Validating that it is the claimed person -- Finishing touches: Saving and loading files -- Finishing touches: Making a nice and interactive GUI -- Drawing the GUI elements -- Startup mode -- Detection mode -- Collection mode -- Training mode -- Recognition mode -- Checking and handling mouse clicks -- Summary -- References -- Index.
Abstract:
Each chapter in the book is an individual project and each project is constructed with step-by-step instructions, clearly explained code, and includes the necessary screenshots. You should have basic OpenCV and C/C++ programming experience before reading this book, as it is aimed at Computer Science graduates, researchers, and computer vision experts widening their expertise.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: