Card | Table | RUSMARC | |
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 | |||||
Internet | Readers | |||||
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
- Installation on Windows
- 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
- Combining an SVM with a sliding window
- 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
Access count: 0
Last 30 days: 0 Detailed usage statistics |