Get started with Computer Vision and become a real-time processing Wizard with OpenCV & Python with fully working games
What you'll learn
- Start your Computer Vision journey with OpenCV using Python
- Master real-time video processing with webcam streams
- Know how to create a motion detection from scratch - also how to make it noise tolerant
- How you insert image objects in live webcam stream
- Create multiple interactive games with your webcam
- Understand hardware limitations of the webcam
- Learn how to resize, gray scale, threshold, Gaussian blur, dilate, and more in a live webcam stream
- Identify moving objects and adding boxes around them in a live webcam stream
- Experience using circular buffer for efficient processing
- How to use object oriented programming to have multiple objects moving around in a live webcam stream
- Some Python skills (see introduction video if worried)
- Basic understanding of object oriented programming (only needed in the end)
Computer Vision is one of most interesting areas in computer science. For obvious reasons:
- How can a computer understand what happens in an image or a video?
- It is simple for you and I to understand what happens in an image or a video
- ...but it is not trivial for computers to gain that understanding
At the end of this course you will create two interactive Computer Vision games that extract high level understanding from a real-time webcam flow. All this will be achieved with no prior Computer Vision knowledge. We learn and built along the way. Combining Computer Vision theory immediately by implementing it in useful scenarios.
This is a entertaining way to learn Computer Vision with practical projects at each stage in your learning journey.
Why learn Computer Vision with OpenCV and Python?
- If you want to use the strongest Computer Vision library supported by broad set of languages and most platforms
- OpenCV is a Computer Vision library and is highly optimized with focus on real-time applications.
- OpenCV integrates with C++, Python and Java interfaces on Linux, MacOS, Windows, iOS, and Android
- Python combines the power of being easy to learn and leaves the heavy processing in libraries (like OpenCV)
- New concepts need to be applied immediately after you learn them, otherwise you will forget them
- You need to understand why you need new concepts in order to be engaged in the learning process
- This course has short learning cycles with motivated concepts that are immediately applied in projects
- ...finally, if you want to build something entertaining, then you are highly motivated
- You will master Computer Vision approaches for real-time video applications.
- Have full projects with OpenCV in Python using your webcam
- Master real-time processing of a video stream with OpenCV and Python
- Practical programming experience on how Computer Vision extracts high level understanding of a live webcam stream
- How to extract moving parts from a frame
In this course we will cover all concepts for real-time application, like noise tolerant motion detection, inserting objects, interact with objects from webcam to the frames, and combining that to interactive games.
This course covers the following.
- Update or install the newest Python and PyCharm (one of the best environment to develop Python code in).
- Install OpenCV and ensure you have correct version running.
- Understand how webcam can be configured and the limitations.
- Measure Frames-per-seconds and understand the process flow from webcam to screen.
- Understand how Python interacts with OpenCV and keeps processing speed high.
- Learn how frames are represented in Numpy and how they are processed.
- Basic Numpy understandning for OpenCV needs.
- Modifying frames: resize, gray scale, Gaussian blur.
- Working with region of interest (ROI) and inserting objects in frames
- How motion detection works.
- Implementing a simple and noise tolerant motion detection.
- Optimizing processing for noise tolerant motion detection.
- Creating games where you interact through the webcam.
- Starting with the simple webcam processing flow with OpenCV and Python
- Adding concepts and processing as we go along with each example having visual explanation and coding examples
- Structure the code to easily expand the concepts and make more advanced processing
- Adding pieces together in a simple way - focus on keeping things understandable
- At each step you make the implementation along with me.
- You implement it in all stages to increase your understanding of Computer Vision with OpenCV and Python.
- Basically, we learn along the way with 40 coding lectures that adds further knowledge at each step.
- You have basic understand of Python (see prerequisite for full requirements).
- An idea of the Object Oriented Programming concept - only needed in the end and is not high level.
- This course is for you, if you want to learn and get started with Computer Vision in a fun way.
- If you like to learn concepts and theory while making projects.
- Those who want to learn the depth of each lesson by programming examples to fully understand it.
Who this course is for:
- If you want to learn about OpenCV using Webcam (real-time processing)
- ...and if you like to code fun projects while learning something new