We may earn an affiliate commission when you visit our partners.
Course image
Ibrahim Delibasoglu

Note: You will find real world examples (not only using implemented functions in OpenCV) and i'll add more by the time. It means that course content will expand with new special examples. .

New Chapter: "How to Prepare dataset and Train Your Deep Learning Model" was added to the course. You will learn how to prepare a simple dataset, label the objects and train your own deep learning model.

New Special App: "Search team logos" was added to the course. You will learn how you can compare images and find similar image/object in your dataset.

Read more

Note: You will find real world examples (not only using implemented functions in OpenCV) and i'll add more by the time. It means that course content will expand with new special examples. .

New Chapter: "How to Prepare dataset and Train Your Deep Learning Model" was added to the course. You will learn how to prepare a simple dataset, label the objects and train your own deep learning model.

New Special App: "Search team logos" was added to the course. You will learn how you can compare images and find similar image/object in your dataset.

New Chapter: "Special Apps - Missing and Abandoned Object Detection" was added to the course. You will learn how to do an application for missing object detection and abandoned object detection

New Chapter: Facial Landmarks and Special Applications (real time sleep and smile detection) videos was added to the course.

Different Special Applications Chapter: new videos in different topics will be shared under this chapter. You can look at "Soccer players detection" and "deep learning based API for object detection" examples.

In this course, you are going to learn computer vision & image processing from scratch. You will reach all resources, have many examples and explanations of these examples.

The explanations are easy to understand and also you can ask the points you need.

I have shared key concepts with you without the heavily mathematical theory, so we can focus the implementation.

Maybe you can find some other resources, videos or blogs to learn about some of these topics explained in my course, but the advantage of this course is that, you will learn computer vision from scratch by following an order, so that you will not loss yourself between many different sources.

You will also find many special examples beside the fundamental topics.

I preferred to use OpenCV which is an open source computer vision library used and supported by many people. . I have used OpenCV with Python, because Python allows us to focus on the problem easily without spending time for programming syntax/complex codes.

I wish this course to be useful for you to learn computer vision, and Actively we can use 'questions and answers' area to share information...

You will learn the topics:

  • The key concepts of computer Vision & OpenCV

  • Basic operations: histogram equalization,thresholding, convolution, edge detection, sharpening ,morphological operations, image pyramids.

  • Keypoints and keypoint matching

  • Special App : mini game by using key points

  • Image segmentation: segmentation and contours, contour properties, line detection, circle detection, blob detection, watershed segmentation.

  • Special App: People counter

  • Object tracking:Tracking APIs, Filtering by Color.

  • Special App: Tracking of moving object

  • Object detection: haarcascade face and eye detection, HOG pedestrian detection

  • Object detection with Deep Learning

  • Extra Chapter: How to Prepare dataset and Train Your Deep Learning Model

  • Extra Chapter: Special Apps - Missing and Abandoned Object Detection

  • Extra Chapter: Facial Landmarks and Special Applications (real time sleep and smile detection)

  • Extra Chapter: Different Special Applications ( will be updated with special examples in different topics )

Enroll now

What's inside

Learning objectives

  • Understanding the fundamentals of computer vision & image processing
  • Build computer vision applications using opencv
  • Improve programming skills in python
  • Object detection and tracking examples
  • Deep learning for computer vision
  • Beside learning some opencv functions, also you will have many special examples with own algorithm

Syllabus

Getting information about the content of the course

This introduction video was prepared at the first stage of this course. And as i promised to you, I have added many new videos over time. So I have prepared a second introduction video for the richest content. You can watch it to learn the details of new special applications in the next video.

Read more

This video explains how special examples we will do in this course. Now this course have more special examples according to the first stage, That is why i uploaded this second introduction video.

You can find many real word examples in this course, and I assure that It is hard to find so rich content over this platform!

Pyimage search website is used as reference in this videos:

https://www.pyimagesearch.com/2017/04/03/facial-landmarks-dlib-opencv-python/

https://www.pyimagesearch.com/2017/05/08/drowsiness-detection-opencv/

Reference: https://www.pyimagesearch.com

You can download deep learning model from Chapter 8 - Object detection with Deep Learning -

Wanna learn how to use hand movements to play dino runner?

Learn to how to find real time head angle.

OCR application by using tesserocr. But tesserocr (tesseract) can not find true results for not straight text, So a pre-processing step is necessary. Learn how to fix rotation problem here...

In this example, we will use 3 different codes we have written by now. I have modified a few parts of previous examples and tried to do something new. You will learn how to draw moving history of an object, try to detect circle shape created by your moves and draw a moving ball after you draw a circle!

We will make another special example in this video. You will learn template matching and structural similarity metric, and also use these to detect a human wearing hat.

sparse-dense optical flow and track moving objects in the video!

Dense optical flow with OpenCV and a simple motion detection application

Also I had mentioned about the alternative methods to OpenCV

Prepare your own dataset to be able to detect ML model by using SVM classifier.

Extract features from images via HOG and train SVM model. Test the model on a video

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses OpenCV, a widely-used open-source library, making it highly relevant for practical computer vision applications and providing a strong foundation for real-world projects
Employs Python, which allows learners to focus on problem-solving rather than complex coding syntax, streamlining the learning process and making it accessible to beginners
Includes special applications such as missing object detection and facial landmark detection, offering hands-on experience with real-world computer vision problems
Covers object detection with deep learning, including training models with YOLOv5, which is a popular and effective approach in modern computer vision
Requires installing Keras with TensorFlow, which may pose a barrier for students unfamiliar with these deep learning frameworks and their setup processes
References external websites, which may lead to broken links or outdated information, requiring learners to verify the accuracy and relevance of the content

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Practical computer vision with opencv and python

According to learners, this course offers a highly practical and hands-on approach to computer vision using OpenCV and Python. Many students find the code examples and projects to be particularly useful for understanding concepts and building real-world applications. The instructor is frequently praised for providing clear explanations and being responsive in the Q&A section. Reviewers note that the course content is regularly updated, incorporating newer topics like deep learning based object detection and various special applications, which keeps it relevant. However, some reviewers mention that while the course teaches computer vision from scratch, having some prior knowledge of Python programming is highly recommended to follow along comfortably.
Focuses on code, less on heavy math.
"I liked that it focused on implementing algorithms rather than getting bogged down in theory."
"If you're looking for heavy mathematical background, this isn't it. It's more about how to use OpenCV."
"Perfect for getting practical skills without deep theoretical dives."
Course is actively maintained and updated.
"The course is being updated frequently with new topics and applications."
"Great to see new chapters added, especially on deep learning and YOLO."
"The instructor keeps adding new content which makes the course even more valuable over time."
Instructor is helpful and answers questions.
"The instructor is very responsive in the Q&A and helpful with debugging."
"The teacher answers very quickly. He explains the answers clearly."
"The support from the instructor was great, they helped clarify difficult points."
Broad overview of computer vision concepts.
"It covers a good range of fundamental and advanced topics, from basics to deep learning."
"I got a good overview of different CV techniques like segmentation, tracking, and detection."
"The syllabus is comprehensive, covering many essential OpenCV functions."
Strong focus on hands-on coding and applications.
"The course is very hands-on with many practical examples and applications that help solidify understanding."
"I really appreciated the special applications section, it showed how to use OpenCV for real world problems."
"The coding assignments and projects were the most valuable part for me; I learned by doing."
"The hands-on coding and projects are the strongest part of the course for me."
Not for absolute beginners to programming.
"While it teaches CV from scratch, you really need a solid grasp of Python beforehand."
"I found it challenging at times because my Python skills weren't strong enough."
"Recommended for those with basic Python knowledge, not complete beginners."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Learn Computer Vision with OpenCV and Python with these activities:
Review Basic Image Processing Concepts
Solidify your understanding of fundamental image processing techniques before diving into OpenCV. This will make grasping more advanced concepts easier.
Browse courses on Image Processing
Show steps
  • Review concepts like pixel representation, color spaces, and image formats.
  • Practice basic operations like image reading, writing, and display.
  • Familiarize yourself with image histograms and their applications.
Read 'Practical Python and OpenCV'
Supplement your learning with a comprehensive guide to Python and OpenCV. This book offers practical examples and in-depth explanations of key concepts.
Show steps
  • Obtain a copy of 'Practical Python and OpenCV'.
  • Work through the examples related to image processing and object detection.
  • Experiment with the code and adapt it to your own projects.
Implement Basic Image Filters from Scratch
Reinforce your understanding of convolution and image filtering by implementing common filters without relying on OpenCV functions. This will deepen your understanding of how these filters work.
Show steps
  • Choose a few common image filters like Gaussian blur, Sobel edge detection, or sharpening.
  • Implement the convolution operation using nested loops in Python.
  • Compare your results with the output of OpenCV's built-in functions.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Build a Simple Object Tracker
Apply your knowledge of object tracking APIs and filtering by color to create a basic object tracker. This project will solidify your understanding of these concepts and provide a practical application.
Show steps
  • Select an object tracking API from OpenCV (e.g., CSRT, KCF).
  • Implement color-based filtering to improve tracking accuracy.
  • Test your tracker on different video sequences and evaluate its performance.
Create a Blog Post on Facial Landmark Detection
Deepen your understanding of facial landmark detection by writing a blog post explaining the concepts and implementation. This will force you to organize your knowledge and communicate it effectively.
Show steps
  • Research facial landmark detection techniques and algorithms.
  • Implement facial landmark detection using OpenCV and Python.
  • Write a clear and concise blog post explaining the process and results.
Study 'Computer Vision: Algorithms and Applications'
Expand your theoretical knowledge with a comprehensive textbook on computer vision. This book provides a deeper understanding of the algorithms and mathematical foundations.
View Computer Vision on Amazon
Show steps
  • Obtain a copy of 'Computer Vision: Algorithms and Applications'.
  • Focus on chapters related to the course topics, such as image processing, feature detection, and object recognition.
  • Work through the mathematical derivations and examples to gain a deeper understanding.
Contribute to an OpenCV Project
Enhance your skills and contribute to the computer vision community by contributing to an open-source OpenCV project. This will provide valuable experience and exposure to real-world development practices.
Show steps
  • Identify an OpenCV project on GitHub that interests you.
  • Find a bug or feature request to work on.
  • Submit a pull request with your changes.

Career center

Learners who complete Learn Computer Vision with OpenCV and Python will develop knowledge and skills that may be useful to these careers:
Computer Vision Engineer
A Computer Vision Engineer designs and implements algorithms that enable computers to 'see' and interpret images, much like the human eye. This career involves developing systems for object detection, image recognition, and video analysis. This course is invaluable if you want to become a Computer Vision Engineer, offering a strong foundation in OpenCV and Python, the two main tools in the computer vision field. The course's hands-on approach, with numerous practical examples and special applications, perfectly aligns with the practical skills demanded in this role. The course will help you build a portfolio of projects showcasing your skills in areas like object detection, tracking, and image segmentation, making you a highly competitive candidate.
Image Processing Specialist
An Image Processing Specialist focuses on manipulating and analyzing digital images to extract useful information or improve image quality. This could involve tasks such as enhancing images, removing noise, or identifying specific features. This course is tailor-made for aspiring Image Processing Specialists, covering fundamental image processing operations like histogram equalization, thresholding, convolution, edge detection, and morphological transformations. By learning these techniques using OpenCV and Python, you gain proficiency in industry-standard tools and methodologies. The course's special applications, such as the mini 'hit the ball' game using key points, offers a practical element that enhances your problem-solving skills and prepares you for real-world image processing challenges. The course provides you with a structured learning path, preventing you from getting lost in a sea of information.
Robotics Engineer
A Robotics Engineer designs, builds, and programs robots for various applications, from manufacturing to exploration. Computer vision is a crucial aspect of robotics, enabling robots to perceive and interact with their environment. This course will be very useful for those interested in robotics because it emphasizes the use of OpenCV and Python to implement different image processing techniques. The course's focus on practical applications, such as object tracking and detection, directly translates into real-world robotics scenarios. You will get hands-on experience with key concepts and techniques that are essential for developing intelligent and autonomous robots. Furthermore, the course's coverage of deep learning for computer vision opens doors to creating more sophisticated and adaptable robotic systems.
Autonomous Vehicle Engineer
An Autonomous Vehicle Engineer develops the software and hardware systems that enable vehicles to operate without human intervention. Computer vision is a critical component of autonomous driving, enabling vehicles to perceive their surroundings and navigate safely. This course will be useful for Autonomous Vehicle Engineers as it covers essential computer vision techniques like object detection, tracking, lane detection, and traffic sign recognition. The course's coverage of deep learning for computer vision is particularly relevant, as deep learning models are widely used in autonomous driving systems.
Application Developer
An Application Developer designs and builds software applications for various platforms, such as mobile, web, or desktop. Computer vision capabilities can enhance the functionality and user experience of many applications. This course provides you with the skills to integrate computer vision features into your applications. The course's practical examples will be useful, such as object tracking, face detection, and real-time smile detection. The hands-on approach and use of OpenCV and Python are highly relevant for developing real-world applications. The course is very useful because of its coverage of special examples alongside the fundamental topics.
Software Engineer
A Software Engineer designs, develops, and tests software applications. With the increasing demand for computer vision capabilities in various software products, this course helps you to increase your value on the job market. The course helps build valuable skills in OpenCV and Python, two popular tools for software development. Software Engineers can leverage the knowledge gained in this course to develop applications involving image analysis, object recognition, or video processing. The course's practical approach, including the development of special applications like people counters and moving object trackers, equip you with the hands-on experience needed to succeed in real-world projects. The course structure is organized, ensuring that you learn the key concepts in a logical order.
Surveillance Systems Engineer
A Surveillance Systems Engineer designs, installs, and maintains surveillance systems, often incorporating computer vision technologies for automated monitoring and analysis. Working as a Surveillance Systems Engineer involves a lot of work in the field of computer vision, such as missing object detection, abandoned object detection, people counting, and object tracking, all of which are taught in the course. This course will be useful if you plan to enter the field of Surveillance Systems Engineering. Because the course also touches on deep learning, you will be set up to use more modern techniques in your surveillance systems.
Machine Learning Engineer
A Machine Learning Engineer develops and deploys machine learning models, often working with large datasets and complex algorithms. Computer vision is a subfield of machine learning, and this course helps you to develop the skills to work with image data. The course's emphasis on deep learning for object detection and facial landmark detection provides a practical foundation for building machine learning models that can 'see'. The skills you learn relating to preparing datasets and training your own models are essential for machine learning engineers. This course may be useful because it offers a blend of theoretical knowledge and practical implementation, preparing you to tackle real-world machine learning challenges in computer vision.
Game Developer
A Game Developer designs and creates video games. Computer vision techniques can be incorporated into games for various purposes, such as gesture recognition, facial animation, and augmented reality. This course will be useful for Game Developers because it covers keypoint detection, feature matching, and object tracking, which can be used to implement interactive game mechanics. The course's special applications, such as the mini 'hit the ball' game using key points, provide you with practical examples of how computer vision can be used in games.
Quality Assurance Engineer
A Quality Assurance Engineer ensures the quality of products and services, often using automated testing and inspection systems. In manufacturing, computer vision can be used to automate visual inspection tasks, such as defect detection and product verification. This course provides you with the skills to develop and implement computer vision-based quality assurance systems. The course will be useful because you will be able to develop systems for detecting defects, verifying product completeness, and ensuring compliance with quality standards. The hands-on approach and use of OpenCV and Python are highly relevant for developing real-world quality assurance applications.
Artificial Intelligence Developer
An Artificial Intelligence Developer creates intelligent systems that can perform tasks that typically require human intelligence. This often involves working with machine learning, deep learning, and computer vision technologies. This course may be useful for AI developers because it concentrates on the intersection of computer vision and deep learning, providing you with the skills to develop AI-powered visual applications. The course's coverage of object detection with deep learning and how to prepare datasets for training your own models will be particularly relevant if you want to integrate computer vision into your AI projects. The special applications, such as real-time sleep and smile detection, offer you a glimpse into the creative possibilities of AI in the realm of visual perception. This course is beneficial because it delivers a hands-on learning experience, enabling you to grasp the practical aspects of AI development.
Data Scientist
A Data Scientist analyzes large datasets to extract meaningful insights and inform decision-making. This course helps you if you plan to apply your data science skills to image data. The course's coverage of image processing techniques, such as segmentation, contour analysis, and feature matching, provides you with tools for analyzing visual data. Likewise, learning how to prepare datasets and train deep learning models is a valuable skill for working with image-based datasets. The special applications covered in the course, such as the search team logos application, demonstrates how data science principles can be applied to solve real-world problems using computer vision. This course may be useful because it teaches computer vision in a specific order, which helps data scientists who may not be familiar with the field.
Medical Imaging Specialist
A Medical Imaging Specialist works with medical images, such as X-rays, MRIs, and CT scans, to assist in diagnosis and treatment planning. Computer vision techniques can be applied to medical imaging to automate image analysis tasks, such as tumor detection and organ segmentation. This course will be useful for Medical Imaging Specialists as it covers fundamental image processing operations, segmentation techniques, and object detection methods. The course's hands-on approach and use of OpenCV and Python are beneficial for developing custom medical imaging applications.
Research Scientist
A Research Scientist conducts research to advance knowledge in a specific field. This course helps you if you are researching computer vision or related fields. The course's coverage of fundamental computer vision concepts, image processing techniques, and deep learning models will be useful. The course's special applications, such as missing object detection and soccer player detection, will stimulate new ideas and potentially lead to new research directions. This course may be useful because it provides a broad overview of computer vision while diving into some specific applications.
Geospatial Analyst
A Geospatial Analyst analyzes geographic data, often using satellite imagery and aerial photography. Computer vision techniques can be used to extract information from geospatial imagery, such as land cover classification, object detection, and change detection. This course may be useful for Geospatial Analysts because it covers image processing operations, segmentation techniques, and object detection methods that can be applied to geospatial data. The course's hands-on approach and use of OpenCV and Python are relevant for developing custom geospatial analysis tools.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Learn Computer Vision with OpenCV and Python.
Provides a practical introduction to computer vision using Python and OpenCV. It covers a wide range of topics, from basic image processing to object detection and tracking. It is particularly useful for hands-on learners who prefer a code-first approach. This book serves as a great companion to the course, offering additional examples and explanations.
Provides a comprehensive overview of computer vision algorithms and applications. While it may be more theoretical than the course, it offers a deeper understanding of the underlying principles. It valuable resource for students who want to delve deeper into the mathematical foundations of computer vision. This book is best used as a reference for specific topics of interest.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser