I did deeplearning.ai, Udacity AI Nanodegree, and bunch of other courses...but for the last month I have always started the day by first finishing one day of your course. The projects are not too overwhelming but each project gets a key thing done, so they are super useful. I keep on finding myself getting back and looking at the source code from your projects, much more than I do from other courses.
Igor Marjanovic, Researcher and business owner
Igor Marjanovic
Researcher and business owner
The course was PERFECT. The amount of knowledge (on point and hands on) I could attain in these 17 days was way more than what I could gather in the last 3-4 months from my academics. I am really thankful to this course. Its simple yet effectively designed. I have already started suggesting this to my colleagues in my research lab.
Pratik Kulkarni, Computer Vision Intern at WelchLabs
Pratik Kulkarni
Computer Vision Intern at WelchLabs

Here's what you'll learn inside this FREE Computer Vision, Deep Learning, and OpenCV Crash Course.

Learn how to detect faces in images with OpenCV

Detect faces in images and video streams.

From the very first lesson in this course, you will be learning practical computer vision skills, starting with face detection, the first step in building face recognition systems.

Most OpenCV courses save face detection until later in the material — but why wait? Face detection is not only a fun technique, it's also highly practical as well.

Furthermore, you'll be using OpenCV's deep learning-based face detector which is far more accurate than the other face detectors built into OpenCV.

Most OpenCV practitioners don't even know about this deep learning face detector — it's a hidden gem in the library, and I'd like to not only show it to you, but show you how to use it as well.

I'm ready — sign me up for the FREE crash course »

Learn the fundamentals of computer vision, image processing, and OpenCV.

We walk before we run — but that doesn't mean learning the fundamentals has to be boring. Far from it. Instead, I believe studying computer vision should be fun. You should get your hands dirty in the code. You should learn by doing and build mini-projects along the way.

I've put together an OpenCV, computer vision, and image processing boot camp that will walk you through the fundamentals and have you learning with hands-on examples along the way.

By the time you complete this lesson, you'll understand the basics of image processing using OpenCV, the world's most popular computer vision library (and one we'll leverage quite extensively in the rest of the crash course).

I'm ready — sign me up for the FREE crash course »

Learn the basics of computer vision, image processing, and OpenCV.
Build an image/document scanner using OpenCV

Become proficient in OpenCV by building practical, real-world computer vision applications (like this document scanner)

If this crash course were a "normal" programming course, the first app you build would be kind of useless. You learn some key elements such as syntax, loops, and conditionals, but the program itself wouldn't be practical. That's not how I teach — inside this course you'll become proficient in OpenCV through hands-on, real-world projects.

Did you know that your smartphone camera can be turned into a document scanner? That's right! Just snap a photo of a receipt, a signed contract, or a filled-in expense report, and your phone can generate a "scanned" version of the document.

In reality, document scanner applications are easy to build and can be broken down into 3 simple steps. To learn what these steps are (and to become proficient in OpenCV through an actual real-world project), you'll need to join the crash course.

I'm ready — sign me up for the FREE crash course »

Build an automatic test grader and OMR system using computer vision.

Learning computer vision and deep learning is like putting tools in your toolbox — but you still need the right tool for the job. So how do you know which tool to use and when? I'll show you and teach you my best practices, tips, and suggestions.

Continuing our trend of building practical computer vision applications, you'll learn how to build an OpenCV program capable of scanning and grading exams (i.e., an OMR system).

Building such a system isn't as complex as you think — it just takes the application of the right computer vision algorithms. Inside this lesson, I'll show you the computer vision techniques you need to build an automatic test grader, enabling you to fill your toolbox with new algorithms you can apply to your own projects.

I'm ready — sign me up for the FREE crash course »

Use OpenCV and computer vision to build an automatic test grader and OMR system.
Thank you for the 17 day crash course, man, they are really easy to understand and implement on my laptop. I'm on day 14 and have been consistent. It's amazing.
My thesis unexpectedly turned towards computer vision with machine learning, forcing me to very quickly dive into this topic which is brand-new to me (I specialized in networking and software engineering). The learning curve has been extreme in the past weeks and the PyImageSearch blog has made my life A LOT easier. I consider this website today's best collection of tutorials for beginners in computer vision. Your explanations are easy to get started with and at the same time cover enough depth to quickly feel at home the official documentation. This combination is a rare treasure in today's overload of carelessly written tutorials. I've recommended PyImageSearch already numerous times.
Sandro Kalbermatter, Student at ETH Zürich
Sandro Kalbermatter
Student at ETH Zürich
Track objects in real-time using OpenCV

Discover how to track objects in real-time video.

Applying object tracking to real-time video may seem like a complicated process, but OpenCV makes it easy and straightforward.

We'll start off with a basic (yet effective) object tracking algorithm using color-based thresholds. You'll then learn how to apply more advanced object tracking algorithms to your own projects, including centroid tracking, KCF tracking, CSRT tracking, TLD tracking, and MOSSE tracking. These algorithms will enable you to obtain state-of-the-art object tracking performance with little effort on your part.

I'm ready — sign me up for the FREE crash course »

Learn how to measure the size of objects in an image (and save lives along the way).

Did you know that over 3.3 million injuries and deaths happen each year due to patients taking the incorrect medication? This amounts to billions of dollars in hospital bills, insurance claims, and worse, patient injury or death. You can help solve the problem with computer vision though!

Determining the size of a prescription pill is one of the most important steps when performing drug identification. If you can automatically calculate the size of the pill, then you can dramatically narrow down the set of pills that the medication could possibly be.

Here's another scenario: If you're looking at a collection of cells under a microscope, you may not be able to immediately determine the size of the various individual cells. In fact, it can take a trained pathologist hours to manually analyze these images — the same task can be accomplished in just seconds with computer vision-enabled software. To learn how to measure the size of objects in images, you'll need to join the crash course.

I'm ready — sign me up for the FREE crash course »

Learn how to measure the size of objects in images.
Apply facial landmarks to images with OpenCV and dlib.

Utilize face detection and facial landmarks to localize the face, eyes, eyebrows, nose, mouth, and jawline.

Face detection is the first step in building automatic facial recognition systems. Facial landmarks further enable us to localize specific areas of the face, including eyes, nose, etc. The techniques covered in this lesson will enable you to build computer vision and face applications.

When performing face detection with OpenCV, one of the first algorithms you'll come across is "Haar cascades". If you've applied Haar cascades before, you know they work...sometimes. These face detectors are highly prone to false-positive detections and can be very tricky to tune.

There is a better face detector built into OpenCV though! Most OpenCV practitioners don't know this, but there is actually a much more accurate face detector that is distributed with the OpenCV library. This face detector leverages deep learning algorithms and is significantly more accurate. I'll show you how to find this face detector in the OpenCV library and apply it to your own images/video in this lesson.

I'm ready — sign me up for the FREE crash course »

You can learn how to detect blinks in real-time video.

Take a second to consider how fast a blink actually is — typically in the order of 100-400ms. That's fast! But lucky for us, our webcams and computer vision algorithms are faster!

Why might we need to detect blinks? To start, blink detection can enable disabled users to better interact with computers, not only improving their quality of life but their family members' as well!

Blink detection can also be attributed to nervousness and anxiety — you could leverage blink detection to create a basic emotion recognition system or even a simple lie detector. If you want to learn how to apply blink detection to your own projects, you'll need to join the crash course.

I'm ready — sign me up for the FREE crash course »

Detect blinks in real-time video with OpenCV and dlib.
Detect tired drivers using OpenCV, dlib, and computer vision.

Prevent car accidents by using computer vision to detect tired, drowsy drivers.

It's late at night. You're driving home after a long day. You're only a few miles from home, which is great, because you're tired...so tired...so ti...and suddenly you swerve, your eyes snap open, and you've lost an instant or two of time. You almost fell asleep at the wheel! You were lucky this time, but to prevent car accidents due to tired drivers, you should utilize computer vision.

Excessive blinking and drooping eyelids may be a sign of fatigue. While facial landmarks may show use how to localize regions of the face, including the eyes, we need a separate algorithm, called the Eye Aspect Ratio (EAR) to detect when the eyes are closed. Inside this lesson you'll learn how to use the EAR algorithm to detect when your eyes are closed and even build a computer vision system capable of sounding an alarm if you fall asleep at the wheel. To learn how to build such a system, you'll need to join the crash course.

I'm ready — sign me up for the FREE crash course »

Just wanted to thank you [Adrian] for the great work you are doing with PyImageSearch blog. The site has often been our main go-to place for solving Computer Vision problems for image and video analysis. I particularly appreciate the code samples you provide which are easy to understand. This site has helped us apply Computer Vision and Deep Learning techniques to analyze videos from industrial domain (like railways) and extract valuable outcomes. Keep up the great job sharing your knowledge!
Dattaraj Rao, Chief Architect at GE
Dattaraj Rao
Chief Architect at GE
PyImageSearch is the go to place for computer vision. The blog and books show excellent use cases from simple to more complex, real world scenarios. The step guides are all working out of the box. I use them as a perfect starting point and enhance them in my own solutions.
Zoltan Szalontay, CIO/CO at újHÁZ Centrum
Zoltan Szalontay
CIO/CO at újHÁZ Centrum

Discover how to perform Deep Learning with OpenCV.

Did you know that you can recognize 1,000 common object categories out-of-the-box with OpenCV?

And best of all, you don't need to invest hours in teaching these networks to recognize objects. OpenCV provides support for state-of-the-art, pre-trained neural networks, including ResNet, Inception, SqueezeNet, and more, all of which are capable of performing automatic image classification.

You can use these exact computer vision and deep learning algorithms in your own projects, but you'll need to join the crash course to find out how.

I'm ready — sign me up for the FREE crash course »

Perform deep learning with OpenCV and Python.
Create your own custom dataset for deep learning.

Create your own custom deep learning datasets (and discover my tips, suggestions, and best practices along the way).

Playing with pre-trained deep neural networks is a great way to dip your toe into the world of deep learning, but eventually you will need to recognize an object class that the network was not trained on. What do you do then? The answer is that you'll need to train your own neural network — but first you need to build your dataset.

One of the biggest issues I see with budding computer vision and deep learning practitioners is that they don't know how to build their own datasets. Sure, they can code custom neural network architectures, train them, and obtain reasonable results, but if you ask them to build + annotate their own dataset, they are left scratching their heads.

Don't be like these other computer vision and deep learning practitioners — invest in yourself by learning how to create your own image datasets for computer vision and deep learning.

I'm ready — sign me up for the FREE crash course »

Learn how to train Convolutional Neural Networks (CNN) on your own custom dataset.

After you have learned how to gather and annotate your own custom dataset (in an earlier lesson in the crash course), your next step will be to actually train a CNN on the data using Keras, arguably the best deep learning library available today. Keras makes it super easy to get from idea to result in as few lines of code as possible.

One of the biggest reasons I love sharing lessons such as this one is that I know firsthand what it's like to work without having access to such powerful libraries. When I first started working with neural networks (about 13 years ago), there were no libraries such as Keras, TensorFlow, etc. You had to implement your own neural networks by hand, a process that could take you days.

Now, with Keras, you'll be implementing and training your first Convolutional Neural Network in less than a half-hour!

I'm ready — sign me up for the FREE crash course »

Train your very first Convolutional Neural Network using Keras, Deep Learning, and OpenCV.
Perform real-time object detection with OpenCV and Deep Learning.

You can perform real-time object detection with deep learning and OpenCV.

Most deep learning + computer vision networks perform image classification, the process of categorizing an image into a set of labels. Image classification algorithms can tell us what is in an image but not where a specific object is — to do that, we need to perform object detection, which is exactly what I'll teach you in this lesson.

Inside this lesson you'll learn how to perform object detection using deep learning and OpenCV. I'll also show you how these algorithms work, giving you a deeper understanding of object detection.

Finally, I'll provide you with my favorite object detection resources, enabling you to train your own custom deep learning object detectors!

I'm ready — sign me up for the FREE crash course »

In my honest opinion Adrian has helped me with Computer Vision journey more than anyone ever has. If I need to learn anything his courses or the blog are the first thing I refer to. And if still in doubt just comment on the blog and he is very likely to respond to each and every question. Thanks Adrian.
Harsh Balot, Android Developer and Computer Vision Practitioner
Harsh Balot
Android Developer and Computer Vision Practitioner
Even though I have just started Computer Vision, I feel I ready know things. The crash course has helped me get very comfortable with image processing techniques and OpenCV methods. And I really recommend everyone to go through each and every blog on PyImageSearch. You will always find a solution to your Computer Vision problem.
Shubham Bengani, Student at Bangalore Institute of Technology
Shubham Bengani
Student at Bangalore Institute of Technology

Enrollment is currently OPEN!

Price: FREE

Don't wait any longer — Get your start in Computer Vision, OpenCV, and Deep Learning.

Forget about complicated theory and equations. You can learn Computer Vision, Deep Learning, and OpenCV in this totally practical, super hands-on, and absolutely FREE 17-day crash course.

Let me prove it to you — I guarantee that in just 17 days, this crash course will help you get your start in computer vision and deep learning.

So what are you waiting for? Give it a shot and see for yourself how quickly you can learn computer vision and deep learning.

Let's do it! I'm ready to join the FREE Crash Course.
The PyimageSearch tutorials have been the most to the point content I have seen. I have always been able to get straightforward solutions for most of my Computer Vision and Deep Learning problems that I face in my day-to-day work life. Courses like this is what helps people and industries around the world to make quick and efficient solutions to their problems in real time.
Swastik Mahapatra, DeepLearning Intern - Computer Vision at Analog Devices
Swastik Mahapatra
DeepLearning Intern - Computer Vision at Analog Devices
You are a boss, Adrian. I'm an machine learning algorithm developer but my knowledge on implementation was very poor. I bought your book/course, followed your free blogs, and now implementation of my algorithms are very easy on various frameworks.
Amit Roy, Senior Principal Expert and Distinguished Inventor
Amit Roy
Senior Principal Expert and Distinguished Inventor

Here are some common questions that I get asked about the course...

  • Is the course really free?

    Yes, the course is 100% FREE. I designed this course to help you get your start in computer vision and deep learning through practical, hands-on projects. You will learn through experience and doing. You will get your hands "dirty" with code and implementations. And most importantly, you won't be bogged down with complex theory and equations. You don't need a degree in computer science or mathematics to take this course.

    By the end of the computer vision and deep learning course, you'll have a strong foundation to continue your work and studies (and I'll even provide you with recommendations for your next steps and guide you in your journey).

  • How do I join the course?

    To join the course, you just need to click here and enter your name + email address. You'll then receive an email with a link to confirm your enrollment. Click the enrollment confirmation link, and you'll be instantly enrolled in the course. You'll receive the first lesson immediately after enrollment.

  • How will I receive the lessons in the course?

    Each of the 17 lessons in the course will be emailed to you using the email address you supply during registration. Be sure to check your inbox each day for the lessons!

  • What days of the week are lessons sent out?

    Lessons are sent out Monday-Friday (5 lessons per week). There are no lessons on the weekend.

  • What if I don't like the course?

    If you don't like the crash course, you can simply unenroll from it by clicking the "unsubscribe" link at the bottom of the lesson email. I'll certainly be sad to see you go, but honestly, I don't think that's going to happen. This computer vision and deep learning crash course contains more detailed lessons and tutorials than most paid books and courses.

  • What programming language does the course use?

    We will be using the Python programming language inside the crash course. If you don't have any Python experience, don't worry! The language is super easy to pick up and learn. That said, prior programming experience is a requirement for this course — if you don't know how to program, you will need to learn how to code before joining this course.

  • Will I get a certificate after completing the course?

    No, since this is a free course, I do not offer a certificate upon completion. Certificates are only offered in the significantly more in-depth PyImageSearch Gurus course.

  • What computer vision and deep learning libraries/packages will I get experience in?

    I'm a strong advocate of learning by doing. Inside this computer vision and deep learning crash course, you'll get hands-on, practical experience working with a number of popular libraries/packages, including OpenCV, dlib, Keras, and TensorFlow.

  • What are the course prerequisites?

    The only prerequisite of this computer vision and deep learning crash course is that you know how to program. We'll be using Python in the course, so if you have experience with Python, fantastic! And if not, don't worry, the language is easy to pick up and learn.

  • I have never programmed before. Can I still take the course?

    Unfortunately, no. Prior programming experience is a requirement when taking this course. If you don't know how to program, you will need to learn how to code before joining this course.

  • Are you going to spam me?

    Absolutely not. I hate spam and I'm sure you do too. I will keep your email address safe and secure.

  • I have another question/what if I have a question while going through the course?

    If you have any other questions feel free to shoot me a message, and I will get back to you as soon as I can.

Who's behind this?

Adrian Rosebrock

Hey, I'm Adrian Rosebrock, a Ph.D and entrepreneur who has spent his entire adult life studying computer vision, machine learning, and deep learning. Over the past 5 years I have:

  • Started the PyImageSearch.com blog and published over 300+ tutorials and articles, enabling you to learn computer vision, machine learning, and deep learning.
  • Authored Practical Python and OpenCV, which has been featured on the official OpenCV.org website.
  • Created PyImageSearch Gurus, an actionable, real-world course on computer vision and OpenCV. This course is the most comprehensive computer vision education online today, covering 13 modules broken out into 168 lessons with over 2,161 pages of content.
  • Authored Deep Learning for Computer Vision with Python, the most in-depth computer vision + deep learning book available today, including super practical walkthroughs, hands-on tutorials (with lots of code), and a no-nonsense teaching style that will help you master computer vision and deep learning.
  • Answered over 50,000+ emails and helped 10,000s of developers, researchers, and students just like yourself learn the ropes of computer vision and deep learning.

If studying OpenCV, computer vision, and deep learning sounds interesting to you, I hope you'll consider joining this crash course. You'll learn a ton about computer vision and deep learning through my practical, hands-on teaching style (and you'll have fun doing it). See you on the other side!

—Adrian Rosebrock