Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Build with OpenCV
Rating: 2.8 out of 5(10 ratings)
180 students

Build with OpenCV

From A to Z - get started with OpenCV 3 and build real-world computer vision applications and projects
Last updated 8/2017
English

What you'll learn

  • Create the required CMake scripts to compile the C++ application and manage its dependencies
  • Get to grips with the computer vision workflows and understand the basic image matrix format and filters
  • Understand segmentation and feature extraction techniques
  • Remove backgrounds from a static scene to identify moving objects for video surveillance
  • Track different objects in a live video using various techniques
  • Use the new OpenCV functions for text detection and recognition with Tesseract

Course content

10 sections47 lectures3h 49m total length
  • Installing OpenCV4:43

    Let's see how to get OpenCV up and running on various operating systems.

  • Basic CMake configuration and creating a library3:19

    We are going to use CMake to configure and check all the required dependencies of our project. So, let’s learn about the basic CMake configuration files and how to create a library. In this video, we will take a look at the CMakelists.txt file and understand how to use the add_library function:

  • Managing dependencies3:11

    CMake has the ability to search our dependencies and external libraries, giving us the ability to build complex projects depending on external components by adding some requirements. One of the most important dependency is, of course, OpenCV. Let’s learn how to add it to our projects. In this video, we will learn how to add OpenCV dependencyto all our projects:

  • Making the script more complex3:37

    Now that we know about managing dependencies, let’s take a look at a bit more complex script. This video we will show us a script that includes subfolders, libraries, and executables, all in only two files and a few lines. In this video, we will define two CMakelists.txt files, write a new library in the CMakeLists.txt file in the UTILS folder, and use the add_definitions(-DLOG)function:

  • Images and matrices2:28

    The most important structure in computer vision is without any doubt the images. The image in computer vision is a representation of the physical world captured with a digital device. In this video, we will learn about pixels and take a look at matrix format and matrix storage:

  • Reading and writing images4:59

    After the introduction of matrices, we are ready to start with the basics of an OpenCV code. This video will teach us how to read and write images. In this video, we will take a look at the imread and imwrite functions, use .cols and .rows attributes of a matrix, and use imshow function to show the image:

  • Reading videos and cameras3:03

    We now know how to read and write images but reading videos can be a bit tricky. This video introduces us to reading a video and camera with a simple example. In this video, we will take a look at the CommandLineParser class, use the .get function, and show the frames with the namedWindow function:

  • Other basic object types1:56

    We have learned about the Mat and Vec3b classes, but we need to learn about other classes as well. In this video, we will learn about the most basic object types required in most of the projects:

  • Basic matrix operations, data persistence, and storage4:09

    In many applications, such as calibration or machine learning, when we are done with the calculations, we need to save the results in order to retrieve them for the next execution. Before we finish this section, we will explore the OpenCV functions to store and read our data. In this video, we will learn how to use the mat constructor, how to use the zerosones, and eye functions, and how to write to a file storage:

  • Test Your Knowledge

Requirements

  • Basic knowledge of C++
  • CMake 3.3.x or newer
  • Microsoft Visual Studio
  • Installation instructions for OpenCV, Tesseract, and Leptonica (a dependency for Tesseract) are mentioned in the relevant chapters.

Description

Yes, computers can see too. Want to know how? This course will not just show you how but equip you with skills to implement your own ideas. Let’s get started!

This course is a blend of text, videos, code examples, and assessments, which together makes your learning journey all the more exciting and truly rewarding. It includes sections that form a sequential flow of concepts covering a focused learning path presented in a modular manner. This helps you learn a range of topics at your own speed and also move towards your goal of building cool computer vision applications with OpenCV.

OpenCV is a cross-platform, free-to-use library that is primarily used for real-time computer vision and image processing. It is considered to be one of the best open source libraries that helps developers focus on constructing complete projects on image processing, motion detection, and image segmentation.

This course has been prepared using extensive research and curation skills. Each section adds to the skills learned and helps us to achieve mastery in developing computer vision applications using OpenCV. Every section is modular and can be used as a standalone resource too. This course has been designed to teach you OpenCV through the use of projects and learning recipes, and equip you with skills to develop your own cool applications. This course will take you through the commonly used Computer Vision techniques to build your own OpenCV projects from scratch.


Starting with the installation of OpenCV on your system and understanding the basics of image processing, we will swiftly move on to creating optical flow video analysis or text recognition in complex scenes, and will take you through the commonly used computer vision techniques to build your own OpenCV projects from scratch. We will develop awesome projects that will focus on the different concepts of computer vision such as image processing, motion detection, and image segmentation. By the end of this course, you will be familiar with the basics of OpenCV such as matrix operations, filters, and histograms, as well as more advanced concepts such as segmentation, machine learning, complex video analysis, and text recognition.

This course has been authored by some of the best in their fields:

Prateek Joshi

Prateek Joshi is a Computer Vision researcher and published author. He has over eight years of experience in this field with a primary focus on content-based analysis and deep learning. His work in this field has resulted in multiple patents, tech demos, and research papers at major IEEE conferences. You can visit his blog.

David Millán Escrivá

David Millán Escrivá has more than 13 years of experience in IT, with more than nine years of experience in Computer Vision, computer graphics, and pattern recognition, working on different projects and start-ups, applying his knowledge of Computer Vision, optical character recognition, and augmented reality. He is the author of the DamilesBlog, where he publishes research articles and tutorials on OpenCV, Computer Vision in general, and optical character recognition algorithms.

Vinícius Godoy

Vinícius Godoy is a computer graphics university professor at PUCPR. He started programming with C++ 18 years ago and ventured into the field of computer gaming and computer graphics 10 years ago. He is currently working with medical imaging systems for his PhD thesis.

Robert Laganière

Robert Laganiere is a professor at the School of Electrical Engineering and Computer Science of the University of Ottawa, Canada. He is also a faculty member of the VIVA research lab and is the co-author of several scientific publications and patents in content-based video analysis, visual surveillance, object recognition, and 3D reconstruction. Since 2011, Robert has also been Chief Scientist at Cognivue Corp, a leader in embedded vision solutions.

Who this course is for:

  • This course is for developers who are new to OpenCV and want to develop computer vision applications with OpenCV in C++. A basic knowledge of C++ would be helpful. This course is also useful for people who want to get started with computer vision and understand the underlying concepts. They should be aware of basic mathematical concepts to make the most out of this course.