First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

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

  • Introduction to Image Processing
    • Images Capture - Devices and Sensors
    • Image Representation and Images as Data Structures
  • Introduction to the Mat class
    • Mat class - an overview
    • Loading images
    • Traversomg Mat objects
    • Lookup tables
    • Linear and logarithmic transformation
  • Image Filtering
    • Neighborhood of a pixel
    • Image averaging and Image filters
    • Image blurring
    • Gaussian filtering
    • Image noise filtering
    • Vignetting
  • Image Thresholding
    • Binary images
    • Basic thresholding
    • Adaptive thresholding
    • Morphological operations - Erosion and Dilation
  • Image Histograms
    • Histograms - concepts and theory
    • Plotting histograms
    • Color histograms
    • Multidimensional histograms
  • Image Derivatives and Edge Detection
    • 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
  • Face Detection Using OpenCV
    • Image classification systems
    • Face detection
    • Haar features
    • Cascaded classifiers
  • Affine Transformations and Face Alignment
    • Face alignment - as the first step in facial analysis
    • Rotating faces
    • Image cropping and using it for face alignment
  • Feature Descriptors in OpenCV
    • Local binary pattern (LBP) - concepts and uses
    • Applying LBP to aligned facial images
  • Machine Learning and OpenCV
    • 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