FinUniversity Electronic Library

     

Details

Howse, Joseph. Learning OpenCV 4 computer vision with Python 3: get to grips with tools, techniques, and algorithms for computer vision and machine learning / Joseph Howse, Joe Minichino. — Third edition. — 1 online resource — <URL:http://elib.fa.ru/ebsco/2378067.pdf>.

Record create date: 2/24/2020

Subject: Computer vision.; OpenCV (Computer program language); Python (Computer program language); Computer vision.; OpenCV (Computer program language); Python (Computer program language)

Collections: EBSCO

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Now in its third edition, this is the original book on OpenCV's Python bindings. Readers will learn a great range of techniques and algorithms, from the classics to the state-of-the-art, and from geometry to machine learning. All of this is in aid of solving practical computer vision problems in well-built applications.

Document access rights

Network User group Action
Finuniversity Local Network All Read Print Download
Internet Readers Read Print
-> Internet Anonymous

Table of Contents

  • Cover
  • Title Page
  • Copyright and Credits
  • Dedication
  • About Packt
  • Contributors
  • Table of Contents
  • Preface
  • Chapter 1: Setting Up OpenCV
    • Technical requirements
    • What's new in OpenCV 4
    • Choosing and using the right setup tools
      • Installation on Windows
        • Using a ready-made OpenCV package
        • Building OpenCV from source
      • Installation on macOS
        • Using Homebrew with ready-made packages
        • Using Homebrew with your own custom packages
      • Installation on Debian, Ubuntu, Linux Mint, and similar systems
        • Using a ready-made OpenCV package
        • Building OpenCV from source
      • Installation on other Unix-like systems
    • Running samples
    • Finding documentation, help, and updates
    • Summary
  • Chapter 2: Handling Files, Cameras, and GUIs
    • Technical requirements
    • Basic I/O scripts
      • Reading/writing an image file
      • Converting between an image and raw bytes
      • Accessing image data with numpy.array
      • Reading/writing a video file
      • Capturing camera frames
      • Displaying an image in a window
      • Displaying camera frames in a window
    • Project Cameo (face tracking and image manipulation)
    • Cameo – an object-oriented design
      • Abstracting a video stream with managers.CaptureManager
      • Abstracting a window and keyboard with managers.WindowManager
      • Applying everything with cameo.Cameo
    • Summary
  • Chapter 3: Processing Images with OpenCV
    • Technical requirements
    • Converting images between different color models
      • Light is not paint 
    • Exploring the Fourier transform
      • HPFs and LPFs
    • Creating modules
    • Edge detection
    • Custom kernels – getting convoluted
    • Modifying the application
    • Edge detection with Canny
    • Contour detection
      • Bounding box, minimum area rectangle, and minimum enclosing circle
      • Convex contours and the Douglas-Peucker algorithm
    • Detecting lines, circles, and other shapes
      • Detecting lines
      • Detecting circles
      • Detecting other shapes
    • Summary
  • Chapter 4: Depth Estimation and Segmentation
    • Technical requirements
    • Creating modules
    • Capturing frames from a depth camera
    • Converting 10-bit images to 8-bit
    • Creating a mask from a disparity map
    • Modifying the application
    • Depth estimation with a normal camera
    • Foreground detection with the GrabCut algorithm
    • Image segmentation with the Watershed algorithm
    • Summary
  • Chapter 5: Detecting and Recognizing Faces
    • Technical requirements
    • Conceptualizing Haar cascades
    • Getting Haar cascade data
    • Using OpenCV to perform face detection
      • Performing face detection on a still image
      • Performing face detection on a video
      • Performing face recognition
        • Generating the data for face recognition
        • Recognizing faces
        • Loading the training data for face recognition
        • Performing face recognition with Eigenfaces
        • Performing face recognition with Fisherfaces
        • Performing face recognition with LBPH
        • Discarding results based on the confidence score
    • Swapping faces in the infrared
      • Modifying the application's loop
      • Masking a copy operation
    • Summary
  • Chapter 6: Retrieving Images and Searching Using Image Descriptors
    • Technical requirements
    • Understanding types of feature detection and matching
      • Defining features
    • Detecting Harris corners
    • Detecting DoG features and extracting SIFT descriptors
      • Anatomy of a keypoint
    • Detecting Fast Hessian features and extracting SURF descriptors
    • Using ORB with FAST features and BRIEF descriptors
      • FAST
      • BRIEF
      • Brute-force matching
      • Matching a logo in two images
    • Filtering matches using K-Nearest Neighbors and the ratio test
    • Matching with FLANN
    • Performing homography with FLANN-based matches
    • A sample application – tattoo forensics
      • Saving image descriptors to file
      • Scanning for matches
    • Summary
  • Chapter 7: Building Custom Object Detectors
    • Technical requirements
    • Understanding HOG descriptors
      • Visualizing HOG
      • Using HOG to describe regions of an image
    • Understanding NMS
    • Understanding SVMs
    • Detecting people with HOG descriptors
    • Creating and training an object detector
      • Understanding BoW
      • Applying BoW to computer vision
        • k-means clustering
    • Detecting cars
      • Combining an SVM with a sliding window
        • Detecting a car in a scene
        • Saving and loading a trained SVM
    • Summary
  • Chapter 8: Tracking Objects
    • Technical requirements
    • Detecting moving objects with background subtraction
      • Implementing a basic background subtractor
      • Using a MOG background subtractor
      • Using a KNN background subtractor
      • Using GMG and other background subtractors
    • Tracking colorful objects using MeanShift and CamShift
      • Planning our MeanShift sample
      • Calculating and back-projecting color histograms
        • Understanding the parameters of cv2.calcHist
        • Understanding the parameters of cv2.calcBackProject
      • Implementing the MeanShift example
      • Using CamShift
    • Finding trends in motion using the Kalman filter
      • Understanding the predict and update phases
      • Tracking a mouse cursor
    • Tracking pedestrians
      • Planning the flow of the application
      • Comparing the object-oriented and functional paradigms
      • Implementing the Pedestrian class
      • Implementing the main function
      • Considering the next steps
    • Summary
  • Chapter 9: Camera Models and Augmented Reality
    • Technical requirements
    • Understanding 3D image tracking and augmented reality
      • Understanding camera and lens parameters
      • Understanding cv2.solvePnPRansac
    • Implementing the demo application
      • Importing modules
      • Performing grayscale conversion
      • Performing 2D-to-3D spatial conversions
      • Implementing the application class
        • Initializing the tracker
        • Implementing the main loop
        • Tracking the image in 3D
        • Initializing and applying the Kalman filter
        • Drawing the tracking results and masking the tracked object
      • Running and testing the application
    • Improving the 3D tracking algorithm
    • Summary
  • Chapter 10: Introduction to Neural Networks with OpenCV
    • Technical requirements
    • Understanding ANNs
      • Understanding neurons and perceptrons
      • Understanding the layers of a neural network
        • Choosing the size of the input layer
        • Choosing the size of the output layer
        • Choosing the size of the hidden layer
    • Training a basic ANN in OpenCV
    • Training an ANN classifier in multiple epochs
    • Recognizing handwritten digits with an ANN
      • Understanding the MNIST database of handwritten digits
      • Choosing training parameters for the MNIST database
      • Implementing a module to train the ANN
      • Implementing a minimal test module
      • Implementing the main module
      • Trying to improve the ANN's training
      • Finding other potential applications
    • Using DNNs from other frameworks in OpenCV
    • Detecting and classifying objects with third-party DNNs
    • Detecting and classifying faces with third-party DNNs
    • Summary
  • Appendix A: Bending Color Space with the Curves Filter
  • Other Book You May Enjoy
  • Index

Usage statistics

stat Access count: 0
Last 30 days: 0
Detailed usage statistics