Start here: Learn computer vision & OpenCV

Welcome to PyImageSearch.com! On this page, I have detailed the optimal path to learning computer vision and OpenCV utilizing the PyImageSearch website.

Who is this guide for?

This guide is for you. Regardless of whether you’re just getting started learning computer vision and OpenCV, or you’re a seasoned veteran (or at least aspire to be an expert one day), I’ve organized this page to be your blueprint for utilizing the PyImageSearch blog to level up your computer vision and OpenCV skills.

Why did you create guide?

I’m a true believer in education. I love teaching. I love writing. And running the PyImageSearch blog is honestly one of the highlights of my day.

But with over 150+ published tutorials on PyImageSearch.com, the number of lessons alone can be quite overwhelming. Not to mention, a number of free resource guides and email crash courses — as well as few paid computer vision education products.

With all this content, I recognize that it can be overwhelming to get yourself oriented and figure out where you should even start!

That’s exactly why I created this guide: to help you.

Utilizing this guide, you’ll be able to:

  1. Assess and determine where you are on your computer vision journey.
  2. Follow my exact blueprint to take the next steps.
  3. Level up your computer vision skills.

Be sure to bookmark this page!

You’ll be able to refer back to this page as you progress through your computer vision journey.

If you have any questions at all, please send me a message — I’m here to help.


I have organized this guide into three sections to help you get started learning computer vision and OpenCV:

  1. Get Yourself Oriented
  2. Learn the Fundamentals
  3. Master Computer Vision

To determine which section is most relevant to you, I’ve designed the following three questions to (1) determine your familiarity with the PyImageSearch blog and (2) assess your current skill level/where you would like to end up:

  • Is this your first time visiting the PyImageSearch blog? If so, regardless of your skill level/previous experience with computer vision, start with the Get Yourself Oriented section to familiarize yourself with the site. I would also recommend reading this guide in its entirety, so you can better understand my blueprint for learning computer vision.
  • Are you just getting started learning computer vision, image processing, and OpenCV/looking to level up your skills? If this is your first exposure to computer vision and OpenCV, or if you want to ensure that you have a firm grasp on the fundamentals, then the Learn the Fundamentals section will be the most relevant.
  • Are you searching for the most complete computer vision education online today? If you’re committed to learning computer vision, including advanced techniques such as Automatic License Plate Recognition, Face Recognition, Deep Learning, and more, then the Master Computer Vision section will help you reach computer vision expert.

Below I have included a graphical version of my blueprint to learning computer vision. Based on your answers to the questions above, you can use this flowchart to determine which section is most relevant to you and then follow the outlined sub-steps:

Figure 1: The optimal path to learning computer vision and OpenCV on the PyImageSearch blog.

Figure 1: The optimal path for learning computer vision and OpenCV on the PyImageSearch blog.

That said, if you are here, you’ll probably want to read the rest of this guide to get the most comprehensive overview, regardless of your answers.

If you’re just getting started learning computer vision and OpenCV, you’ll want to begin with the “Get Yourself Oriented” section.

If you already have some previous experience in computer vision, whether from the workplace, a classroom, a hobby, or a project that utilized OpenCV, then you’re likely looking to level up your skills. In that case, you’ll want to pay attention to the “Learn the Fundamentals” and “Master Computer Vision” sections.

Finally, if you’re looking to master computer vision and tackle more advanced concepts such as Deep Learning, Automatic License Plate Recognition (ANPR), and Face Recognition, you’ll definitely want to read the “Master Computer Vision” section of this guide — but be sure to read the other sections as well, as the steps there might still be relevant to your computer vision journey.

Get Yourself Oriented

If this is your first visit to the PyImageSearch blog or if you have zero (or very little) experience with computer vision and OpenCV, then you should start with this section.

Here, I detail my free guides and mini email crash courses to help you get started on your path to computer vision mastery.

Discover my hand-picked computer vision resources

imagesearchengine-resourceguide-cover

The first step you should take on the PyImageSearch blog is to sign up for my (FREE) 11-page Computer Vision and Image Search Engine Resource Guide PDF.

This PDF details my favorite hand-picked resources for learning computer vision, including recommended textbooks, conferences, and online courses.

You can download your free Computer Vision and Image Search Engine Resource Guide by clicking the button below:

Download your free Resource Guide PDF

Take a free email crash course

So, you’ve downloaded the Resource Guide PDF. What next?

I would suggest going through one of my free email crash courses on computer vision.

Note: I offer two free email crash courses on the PyImageSearch blog. Feel free to take them both — but I highly suggest that you only take one at a time so you don’t become overwhelmed with content.

The first email crash course I offer is a free 21-day course that covers the basics of computer vision and image search engines. You can sign up for this course by entering your email address in the green slider form at the bottom-right corner of this page:

Figure 2: Sign up for the computer vision and image search engine 21-day email crash course.

I’ve hand-tailored this crash course to be the best introduction to computer vision you can get.

When you sign up, each day for 21 days you’ll receive a new email from me direct to your inbox — this email will contain lessons, suggestions, and tips to help you:

  • Learn the basics of computer vision and OpenCV.
  • Grasp the proper mindset to learn computer vision.
  • Provide suggestions for example projects.

If you’re more interested in a hands-on crash course, focused more heavily on OpenCV (rather than computer vision in general), you’ll want to check out my free OpenCV crash course:

http://www.pyimagesearch.com/free-opencv-crash-course/

This 10-day email crash course is meant to teach you practical computer vision projects using OpenCV, including:

  • Building your first image search engine.
  • Creating a mobile document scanner.
  • Applying simple object detection.
  • …and much more.

You can register for the free OpenCV crash course by clicking here.

Feel free to go through both crash courses — but again, I recommend only taking ONE at a time, so you don’t become overwhelmed with the content (and the number of emails you’re receiving).

Install OpenCV on your system

If you want to learn OpenCV, you’ll need to install it on your system first.

I won’t lie to you — installing OpenCV can be a real pain in the ass, especially if this is your first exposure to it.

No worries though — I’ve got you covered. I’ve created a set of OpenCV install guides on this page:

http://www.pyimagesearch.com/opencv-tutorials-resources-guides/

Here you’ll find links to OpenCV installation instructions for Python 2.7 and Python 3+ for various operating systems including OSX, Ubuntu, and Raspbian.

Finally, it’s worth mentioning that I offer a downloadable Ubuntu VirtualBox virtual machine that comes with OpenCV + Python pre-configured and pre-installed. This virtual machine is guaranteed to run on OSX, Linux, and Windows.

If you’re looking to jumpstart your OpenCV education, it’s hard to beat this virtual machine, since it allows you to skip the OpenCV compile + installation process — this will save you a ton of time (and a lot of headaches).

Plus, you can always come back and install OpenCV on your native system at a later date. The critical step now is to simply get started.

The pre-configured Ubuntu VirtualBox virtual machine is available inside the Quickstart Bundle and Hardcopy Bundle of my book, Practical Python and OpenCV. To learn more about my book, just click here:

https://www.pyimagesearch.com/practical-python-opencv/

Learn the Fundamentals

Practical Python and OpenCV

Let me start this section by asking a simple question:

“Are you interested in computer vision, image processing, and OpenCV, but don’t know where to start?”

If you answered YES to this question, then you’ll want to take a look at my book, Practical Python and OpenCV.

This book is your guaranteed jumpstart guide to learning the fundamentals of computer vision and image processing. In fact, many PyImageSearch readers have gone through my book in a single weekend, making it the ultimate guide to not only learning OpenCV, but learning it efficiently and effectively as well.

Best of all, you’ll learn the basics of computer vision and OpenCV by working on actual, real-world problems such as:

  • Face detection
  • Object tracking in video
  • Handwriting recognition
  • …and much more!

All chapters in the book come with lots of examples, code, and detailed walkthroughs.

Simply put: I wrote this book for you — for developers, researchers, and students who are interested in computer vision and image processing, but still need to learn the fundamentals.

If you’re just getting started in computer vision (or want to level up your skills), then you’ll want to take a look at Practical Python and OpenCV. You can use the following link to read more about my book and even grab a free sample chapter:

Learn more about Practical Python and OpenCV

Master Computer Vision

pyimagesearch_gurus_overview

If you’re reading this section, then you likely either:

  1. Have previous experience in computer vision + OpenCV, and want to learn more advanced algorithms and techniques.
  2. Have read through Practical Python and OpenCV.
  3. Want to take part in the most comprehensive computer vision education online today.

If this is you, then you’ll definitely want to take a look at the PyImageSearch Gurus course:

https://www.pyimagesearch.com/pyimagesearch-gurus/

This course is the most extensive, thorough computer vision education online today, covering over 13 modules broken out into 168 lessons and 2,161 pages of content.

Here are just some of the topics I cover inside the PyImageSearch Gurus course:

  • Automatic License Plate Recognition (ANPR)
  • Deep Learning and Convolutional Neural Networks
  • Face Recognition
  • Training Custom Object Detectors
  • Image Search Engines
  • Hand Gesture Recognition
  • Hadoop + Big Data for Computer Vision
  • Image Classification and Machine Learning
  • …and much more!

Like I said, the PyImageSearch Gurus course is extremely comprehensive, and it goes into much more detail than the Practical Python and OpenCV book. If you’re looking for the most complete computer vision education you can find, you just can’t beat the PyImageSearch Gurus course.

Be sure to give it a try and claim your (free) course syllabus PDF + 10 free sample lessons here:

Master computer vision inside PyImageSearch Gurus

Time to get started

The most important step is your first step. Use this guide to help you determine where you are in your computer vision journey and where you want to go.

Then, take the first step!

If you’re new to the PyImageSearch blog and the world of computer vision, use this link to signup for your (free) 11-page Computer Vision + Image Search Engine Resource Guide PDF:

Download your free Resource Guide PDF

If you’re ready to learn how to operate the OpenCV library and solve real-world computer vision problems, then you’ll want to read through Practical Python and OpenCV:

https://www.pyimagesearch.com/practical-python-opencv/

And finally, if you want the most comprehensive computer vision education online today, you just can’t beat the PyImageSearch Gurus course:

https://www.pyimagesearch.com/pyimagesearch-gurus/

Questions

If you have any questions, or need help figuring out where you should start, please feel free to contact me — I’m here to help.