E-book details

Mastering OpenCV with Practical Computer Vision Projects. This is the definitive advanced tutorial for OpenCV, designed for those with basic C++ skills. The computer vision projects are divided into easily assimilated chapters with an emphasis on practical involvement for an easier learning curve

Mastering OpenCV with Practical Computer Vision Projects. This is the definitive advanced tutorial for OpenCV, designed for those with basic C++ skills. The computer vision projects are divided into easily assimilated chapters with an emphasis on practical involvement for an easier learning curve

Mora Saragih, Eugene Khvedchenia, Daniel L?É?íÂ!(C)lis Baggio, Shervin Emami, Khvedchenia Ievgen, Jason Saragih, Daniel Lelis Baggio, OpenCV Project, David Millán Escrivá, Roy Shilkrot, Naureen Mahmood

Ebook
Computer Vision is fast becoming an important technology and is used in Mars robots, national security systems, automated factories, driver-less cars, and medical image analysis to new forms of human-computer interaction. OpenCV is the most common library for computer vision, providing hundreds of complex and fast algorithms. But it has a steep learning curve and limited in-depth tutorials.Mastering OpenCV with Practical Computer Vision Projects is the perfect book for developers with just basic OpenCV skills who want to try practical computer vision projects, as well as the seasoned OpenCV experts who want to add more Computer Vision topics to their skill set or gain more experience with OpenCV's new C++ interface before migrating from the C API to the C++ API.Each chapter is a separate project including the necessary background knowledge, so try them all one-by-one or jump straight to the projects you're most interested in.Create working prototypes from this book including real-time mobile apps, Augmented Reality, 3D shape from video, or track faces & eyes, fluid wall using Kinect, number plate recognition and so on.

Mastering OpenCV with Practical Computer Vision Projects gives you rapid training in nine computer vision areas with useful projects.
  • 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
  • Title: Mastering OpenCV with Practical Computer Vision Projects. This is the definitive advanced tutorial for OpenCV, designed for those with basic C++ skills. The computer vision projects are divided into easily assimilated chapters with an emphasis on practical involvement for an easier learning curve
  • Author: Mora Saragih, Eugene Khvedchenia, Daniel L?É?íÂ!(C)lis Baggio, Shervin Emami, Khvedchenia Ievgen, Jason Saragih, Daniel Lelis Baggio, OpenCV Project, David Millán Escrivá, Roy Shilkrot, Naureen Mahmood
  • Original title: Mastering OpenCV with Practical Computer Vision Projects. This is the definitive advanced tutorial for OpenCV, designed for those with basic C++ skills. The computer vision projects are divided into easily assimilated chapters with an emphasis on practical involvement for an easier learning curve.
  • ISBN: 9781849517836, 9781849517836
  • Date of issue: 2012-12-03
  • Format: Ebook
  • Item ID: e_3b4m
  • Publisher: Packt Publishing