The hands-on approach
Kevin De Cuyper - Automatic Systems
Machine vision (MV) is the technology and methods used to provide imaging-based automatic inspection and analysis for such applications as automatic inspection, process control, and robot guidance in industry. Machine Vision is a subset of Computer Vision.
|opencv||Computer Vision with OpenCV||28 hours||OpenCV (Open Source Computer Vision Library: http://opencv.org) is an open-source BSD-licensed library that includes several hundreds of computer vision algorithms. Audience This course is directed at engineers and architects seeking to utilize OpenCV for computer vision projects Introduction Setting up OpenCV API concepts Main Modules The Core Functionality(Core Module) Image Processing(Imgproc Module) High Level GUI and Media (highgui module) Image Input and Output (imgcodecs module) Video Input and Output (videoio module) Camera calibration and 3D reconstruction (calib3d module) 2D Features framework (feature2d module) Video analysis (video module) Object Detection (objdetect module) Machine Learning (ml module) Computational photography (photo module) OpenCV Viz Bonus topics GPU-Accelerated Computer Vision (cuda module) OpenCV iOS Bonus topics are not available as a part of a remote course. They can be delivered during classroom-based courses, but only by prior agreement, and only if both the trainer and all participants have laptops with supported NVIDIA GPUs (for the CUDA module) or MacBooks, Apple developer accounts and iOS-based mobile devices (for the iOS topic). NobleProg cannot guarantee the availability of trainers with the required hardware.|
|patternmatching||Pattern Matching||14 hours||Pattern Matching is a technique used to locate specified patterns within an image. It can be used to determine the existence of specified characteristics within a captured image, for example the expected label on a defective product in a factory line or the specified dimensions of a component. It is different from "Pattern Recognition" (which recognizes general patterns based on larger collections of related samples) in that it specifically dictates what we are looking for, then tells us whether the expected pattern exists or not. Audience Engineers and developers seeking to develop machine vision applications Manufacturing engineers, technicians and managers Format of the course This course introduces the approaches, technologies and algorithms used in the field of pattern matching as it applies to Machine Vision. Introduction Computer Vision Machine Vision Pattern Matching vs Pattern Recognition Alignment Features of the target object Points of reference on the object Determining position Determining orientation Gauging Setting tolerance levels Measuring lengths, diameters, angles, and other dimensions Rejecting a component Inspection Detecting flaws Adjusting the system Closing remarks|
|marvin||Marvin Image Processing Framework - creating image and video processing applications with Marvin||14 hours||Marvin is an extensible, cross-platform, open-source image and video processing framework developed in Java. Developers can use Marvin to manipulate images, extract features from images for classification tasks, generate figures algorithmically, process video file datasets, and set up unit test automation. Some of Marvin's video applications include filtering, augmented reality, object tracking and motion detection. In this course participants will learn the principles of image and video analysis and utilize the Marvin Framework and its image processing algorithms to construct their own application. Audience Software developers wishing to utilize a rich, plug-in based open-source framework to create image and video processing applications Format of the course The basic principles of image analysis, video analysis and the Marvin Framework are first introduced. Students are given project-based tasks which allow them to practice the concepts learned. By the end of the class, participants will have developed their own application using the Marvin Framework and libraries. Introduction to Marvin Downloading and installing Marvin Setting up an Eclipse development environment The three layers of the Marvin architecture Framework Plug-ins Applications Components and libraries Image processing in Marvin Video processing in Marvin Multi-threading in Marvin Unit testing in Marvin Working with MarvinEditor Creating an application with Marvin Working with plug-ins Testing the application Video applications Video filtering Image subtraction and combination Tracking Face features detection Real time tracking of multiple blobs Partial shape matching Skin-colored pixels detection Using Marvin Framework for test automation Extending the framework Contributing to the project Closing remarks|