OpenCV C and C++ programming for NVidia Jetson TX
Duration: 5 Days
Intended Audience
This course is for experienced C/C++ programmers who also have some familiarity with CUDA who need not to get up to speed with OpenCV Programming for Computer Vision and Image Processing Applications on NVidia Jetson TX2 devices.
Course Overview
The course covers the most important aspects of the OpenCV framework and applications that can be built using this framework.
- Setup and installation of OpenCV
- The OpenCV framework architecture and the various C/C++ application programming interfaces and classes.
- Essential aspects of image processing using OpenCV, blurring, image morphology, geometric transforms, image histograms, Segmenting Images and Pattern Matching.
- Object Recognition techniques to e.g. Detect different shapes, faces, people, and learn how to train a detector to detect custom objects for e.g. face recognition.
- Learn about camera calibration and stereo images processing
Course Contents
- Images Capture - Devices and Sensors
- Image Representation and Images as Data Structures
- Mat class - an overview
- Loading images
- Traversomg Mat objects
- Lookup tables
- Linear and logarithmic transformation
- Neighborhood of a pixel
- Image averaging and Image filters
- Image blurring
- Gaussian filtering
- Image noise filtering
- Vignetting
- Binary images
- Basic thresholding
- Adaptive thresholding
- Morphological operations - Erosion and Dilation
- Histograms - concepts and theory
- Plotting histograms
- Color histograms
- Multidimensional histograms
- Image derivatives - concepts and maths
- Image derivatives in two dimensions
- The Sobel derivative filter
- From derivatives to edges
- Edge detection using the Sobel Detector
- The Canny edge detectorn
- Laplacians and edge detection
- Blur detection
- Image classification systems
- Face detection
- Haar features
- Cascaded classifiers
- Face alignment - as the first step in facial analysis
- Rotating faces
- Image cropping and using it for face alignment
- Local binary pattern (LBP) - concepts and uses
- Applying LBP to aligned facial images
- Conceptual overview of machine learning
- Supervised and unsupervised learning
- k-means clustering
- k-nearest neighbors classifier - an overview
- Support vector machines (SVMs) - an overview
- Non-linear SVMs and their applications
- Overfitting - how to recognise it and how to avoid it
- Cross-validation
- Common machine learning evaluation metrics - an overview
- Precision Recall - the P-R curve