Frequently Asked Questions

Do you have a question? I may have answered it before.

On this page I’ve compiled the most frequently asked questions on the PyImageSearch blog. Search or browse the questions below.

Search the FAQ


Browse Questions

Questions are organized by category. If you cannot find your question in this list, take a look at the “Need more help?” section at the bottom of the page.

General Questions (5)

I really appreciate your support!

Your support helps me continue to write tutorials and publish content on the PyImageSearch blog (as well as create books and courses).

If you’ve benefited from my tutorials, please help in getting the word out:

  • Share a link to the tutorial on your favorite social media channel (Facebook, Twitter, LinkedIn, etc.)
  • Share the tutorial with your colleagues at work.
  • Share the tutorial with your research group or lab.
  • Share the link with your friends who are also interested in computer vision and deep learning.

If myself/the PyImageSearch tutorials have helped you and you want to support PyImageSearch financially, I would really appreciate it!

I don’t have a donate button, so the best way to support PyImageSearch is to purchase one of my books or courses:

Book and course sales directly fund PyImageSearch, enabling me to continue authoring free tutorials.

Hey there, I’m Adrian Rosebrock.

I started PyImageSearch back in 2014 and since then have authored 300+ free tutorials (along with 4 books and courses) on computer vision, deep learning, and OpenCV.

Besides me, you may interact with three other people here on the PyImageSearch team:

  • David McDuffee: McDuffee is my correspondence coordinator. He triages incoming emails/questions, prioritizes them, and ensures I am able to efficiently answer your questions, giving you the most value out of my response. David handles support-related questions as well. David also ensures that our content is proofread and checked for grammatical errors. McDuffee is also the first person I ever hired to help with PyImageSearch and has been with us the longest. He’s been a wonderful asset to the team.
  • David Hoffman: Hoffman does quite a bit around PyImageSearch ensuring I keep my sanity. After I write a tutorial/blog post, Hoffman takes the draft and ensures it is formatted properly in our blogging software. He also ensures that the pre-configured dev environments we provide in our products are kept up to date (a constant battle in the ever-evolving open source world). Dave is serving as a project manager for our upcoming Raspberry Pi for Computer Vision book, ensuring my time is free to focus on writing. Dave helps write content as well. Finally, Dave handles support-related questions over email and regularly contributes and helps out in both the PyImageSearch Gurus community and DL4CV issue tracker.
  • Abhishek Thanki: Abhishek is a recent addition to the PyImageSearch team — he handles writing code (especially for the Raspberry Pi), Q&A, and sometimes answers support questions.
  • Sayak Paul: Sayak is an Intel Software Innovator, Google Developer Expert in Machine Learning, and author. Sayak’s unique experience with not only embedded systems, but deep learning and data science, makes him a valuable asset to the team. Sayak helps me write code and provide Q&A support to PyImageSearch readers.

The point is this:

  • PyImageSearch is a small, intimate team
  • We’re not a faceless company or a big publisher
  • We’re real people with a passion for helping others study computer vision and deep learning

I sell the books and courses I have authored here on PyImageSearch to:

  • Keep the blog running
  • Ensure I can continue to create (free) tutorials
  • Support my family
  • Support my team and their families

I started PyImageSearch during my final semester of my graduate school career.

Despite having completed my PhD dissertation, due to department regulations I was required to stay in the program for my final semester. I used this time to start PyImageSearch.

When I first started studying computer vision there were only a handful of textbooks. There were even fewer hands-on, practical books that covered OpenCV. And there were essentially zero blogs about them (especially with high quality tutorials + code).

Frustrated with my experience, I decided to create PyImageSearch to help others.

On this blog you will find hands-on tutorials and guides, including well documented source code that runs out-of-the-box, that will help you learn computer vision, deep learning, and OpenCV.

I hope you enjoy your time spent on PyImageSearch!

When I first started PyImageSearch my area of expertise in the computer vision field was Content-based Image Retrieval (CBIR), which is basically building image search engines.

Python was also my favorite programming language and the one I used most often for computer vision research.

I decided to name my blog “PyImageSearch”, thinking I was going to write exclusively about CBIR using the Python programming language.

That obviously changed!

Now I write about OpenCV, the computer vision field as a whole, and the intersection of computer vision and deep learning.

Maybe.

Every now and then I do hire for new positions at PyImageSearch.

These positions are typically for either:

  • Development and Q&A: There are over 300+ free tutorials on the PyImageSearch blog. After they are published I like to ensure that they are kept up to date (at least the most popular ones). This position type involves updating existing or writing new code to fix a problem caused my a newer version of a library. For this position you should have a strong understanding of OpenCV and the libraries we use here on PyImageSearch.
  • Support: The PyImageSearch blog receives 100s of emails per day. I personally respond to as many of them as I can; however, I cannot get to them all. The support positions typically involve helping readers with questions about CV and DL and inquiries regarding my books and courses. This position requires that you are familiar with the PyImageSearch blog, know what I’ve written tutorials on, and know which books/courses cover a particular topic. Previous work in support or sales is definitely preferred.
  • Administrative: There is only so much time in the day, and between writing new free tutorials, creating new books/courses, and helping others on PyImageSearch, sometimes I just run out of time. Administrative work could be anything from helping a customer who cannot login to a course, updating the database, or helping me with miscellaneous tasks.

Please note that each and every hire I have ever made is from the PyImageSearch community.

These people are familiar with myself, my tutorials, my books and courses, along with the PyImageSearch brand. Every hire I’ve ever made has gone through at least one of my books and courses (most hires have gone through all of them). Hiring from the PyImageSearch community ensures the super high quality support and content of the blog is retained.

I announce all new positions via email. If you’d like to be notified when a new position is announced, make sure you are on the PyImageSearch newsletter (you are already on the newsletter if you currently receive emails from me).

Customer Questions (33)

I offer four books/courses on the PyImageSearch blog:

I offer four books and courses on PyImageSearch:

  1. Practical Python and OpenCV
  2. Deep Learning for Computer Vision with Python
  3. PyImageSearch Gurus
  4. Raspberry Pi for Computer Vision

The following figure concisely depicts what each book/course covers:

Practical Python and OpenCV serves as a gentle introduction to the world of computer vision and image processing. If you’re new computer vision, you should go with this book.

If you’re interested in a more detailed review of the computer vision field as a whole, you should with the PyImageSearch Gurus course. The course covers 13 modules broken out into 168 lessons. It’s similar to a college survey computer in computer vision but much more hands-on and practical. Everything covered in Practical Python and OpenCV is also covered in the Gurus course (and in more detail).

Deep Learning for Computer Vision with Python is a deep dive into the world of computer vision and deep learning. This 900+ page book includes super practical walkthroughs, hands-on tutorials (with lots of code), and a no-nonsense teaching style that is guaranteed to help you master deep learning and computer vision. Approximately 15% of my deep learning book is used in the Gurus course.

My new book, Raspberry Pi for Computer Vision, focuses on applying computer vision algorithms to embedded devices, such as the Raspberry Pi, Google Coral, and NVIDIA Jetson Nano. This book is 100% brand new content and does not overlap with my previous books and courses. I would recommend going with this book either (1) if you already have some experience in computer vision or (2) after reading one of my other books/courses so you can learn the fundamentals.

Here is my typical recommendation to PyImageSearch readers:

  • If you’re brand new to the world of computer vision and image processing, go with Practical Python and OpenCV (PPaO) so you can learn the basics first.
  • If you want an in-depth dive into the computer vision field, go with the PyImageSearch Gurus course. Everything covered in PPaO is covered in the Gurus course (and in more detail). This comprehensive computer vision course starts with the fundamentals and leads you all the way up to mastering advanced topics, enabling you to complete your work projects, perform novel research/finish your MSc or PhD, and even prepare you for the CV job market.
  • If you want to study the intersection of computer vision and deep learning in-depth, you should go with Deep Learning for Computer Vision with Python (DL4CV). Whether this is the first time you’ve worked with machine learning and neural networks or you’re already a seasoned deep learning practitioner, DL4CV is engineered from the ground up to help you reach expert status.
  • If you want to perform computer vision and deep learning on embedded devices, such as the Raspberry Pi, Google Coral, or NVIDIA Jetson Nano, I would recommend Raspberry Pi for Computer Vision. This book teaches you how to solve real-world computer vision problems using embedded devices. It also covers applying state-of-the-art neural networks (classification, detection, segmentation, etc.) to resource constrained devices. After going through the text and code you will be able to develop CV, DL, and IoT applications of your own on embedded devices.

If you have any questions on my offerings, please email me or contact me.

Yes.

If you are a customer who has purchased my books/courses you will receive priority support over those who have not.

Physical, hardcopy editions of my books are included in:

No.

As a self-published author, it’s not cheap to have copies of the books printed — I also manually fulfill all orders myself. In order to make the hardcopies feasible, I need to charge a little extra and provide a ton of added value through the high quality code, virtual tutorials, and pre-configured dev environments included in my books.

I stand by my books and courses. They’ve helped tens of thousands of developers, students, and researchers learn computer vision and deep learning.

I’m sorry to hear that you would like a refund. Simply send me an email and ask for a refund, up to 30 days after your purchase.

But to be honest, my readers are satisfied and I’m sure you will be too.

Yes.

On each of my book/course pages you will see a form on the bottom-right where you can enter your email address to obtain the table of contents and sample chapters/lessons.

Enter your email address in that form and your table of contents and sample chapters/lessons will be emailed to you automatically.

For reference, here are links to my current books and courses:

Yes, after you purchase an invoice/receipt will be automatically generated and emailed to you.

If you need any additional information included on your invoice just reply to your purchase receipt and include any relevant information you need on the invoice (name, business, address, etc.).

From there I will generate your invoice for you.

I really appreciate your interest in my books and courses — I put a ton of effort into not only writing them, but keeping them updated and current as well.

And if currency conversion is a problem then I am truly sorry that you cannot afford to purchase them in your country.

That said, I do not give away free copies of my books and courses.

I feel that I give away enough of myself for free already. I have authored 300+ free blog posts and tutorials on the PyImageSearch blog. I have also personally answered over 14,000 comments on the PyImageSearch blog, again, for free.

There is a point where I need to charge for products to help justify my time spent on PyImageSearch and to further help others as well. I do hope you understand.

Sorry, no.

The first reason is because this privilege has been abused in the past.

The second reason is because I feel that I’ve already given enough of myself away for free already. You can find the 300+ free tutorials I’ve written on the PyImageSearch blog.

That said, if you are a student or teacher I can offer you a discount. To be eligible for the discount please confirm your academic status by either:

  1. Emailing me from your university, college, or school email address.
  2. Sending me an email with a copy of your student ID attached

Yes, my books are published in PDF, Kindle, and ePub format.

After you purchase you will be able to download the eBooks.

I offer discounts to students and teachers.

To be eligible for the discount please confirm your academic status by either:

  1. Emailing me from your university, college, or school email address
  2. Sending me an email with a copy of your student ID attached

If you are interested in placing a large order (i.e., multiple copies) for your organization I may be able to offer you a larger discount as well. Email me or contact me and we can discuss.

I currently accept credit card and PayPal as forms of payment for my books and courses.

For large orders I may be able to accept a wire transfer or cryptocurrency.

I do not accept AliPay at this time.

Yes, you can always upgrade from a lower tier bundle to a higher tier simply by paying the price difference between the two (you won’t have to “repurchase” the content you already own).

If you’d like to upgrade you should email me or use my contact form.

Make sure you include your previous purchase as well as what bundle you want to upgrade to.

From there I can ensure you can upgrade.

Only the PyImageSearch Gurus course includes a certificate of completion after successfully completing the course.

I don’t generally runs sales, maybe once or twice a year at the very most.

If you’re serious about studying computer vision or deep learning you’re doing yourself a tremendous disservice waiting for a sale.

My books and courses are designed to pay you back on your investment of time and finances multiple times over.

Look at this way:

By waiting all you’re doing is delaying getting your start. The more you wait to get started, the less competent you’ll be in computer vision/deep learning a week from now, ultimately preventing you from reaching computer vision/deep learning mastery.

As James, a PyImageSearch reader and Deep Learning for Computer Vision with Python customer, puts it:

“Adrian takes months, perhaps even years, of research via trial and error, and condenses it into a single, information-packed book!”

My books and courses are the real deal and get results. You owe it to yourself to get started now.

The free tutorials you’ll find here on the PyImageSearch blog are of super high quality (some readers even say they are higher quality than most paid books and courses you’ll find online).

I put even more effort into my books and courses, including:

  • Organizing all content, ensuring it’s convenient and easy to follow (i.e., no more hunting for tutorials on Google and trying to connect all the dots)
  • More in-depth guides and chapters to ensure you have complete understanding
  • Super high quality (and well documented) source code that you can use in your own projects
  • Pre-configured development environments to get you up and running in minutes
  • Free updates whenever a new edition is released
  • Priority support

When you purchase one of my books/courses you not only have a clear, linear path to mastery, but all the tools you need to be successful (including myself and the PyImageSearch team by your side).

When was the last time you emailed a book or course author with a question?

How long did it take for them to respond? A few days? Weeks?

More than likely they never responded at all.

My books and courses are different, and that’s primarily because I hold myself and PyImageSearch to an incredibly high standard.

When you buy a book or course from me, you’re not just getting the content itself — you’re also getting access to me and the PyImageSearch team.

Furthermore, when you purchase from me you’ll also be getting:

  • The books and courses themselves (including any video tutorials)
  • Convenient and easy to follow chapters and guides (i.e., no more hunting for tutorials on Google and trying to connect all the dots)
  • In-depth tutorials and chapters to ensure you have complete understanding
  • Super high quality (and well documented) source code that you can use in your own projects
  • Pre-configured development environments to get you up and running in minutes
  • Free updates whenever a new edition is released
  • Priority support

When you purchase one of my books/courses you not only have a clear, linear path to mastery, but all the tools you need to be successful (including myself and the PyImageSearch team by your side).

Absolutely!

Here are a few of my favorites:

I can’t promise you’ll win a Kaggle competition like David has or become the CTO of a computer vision company like Saideep did, but I can guarantee that the books and courses I offer on PyImageSearch are the best resources available today to master computer vision and deep learning.

You can buy my books and courses from their respective pages:

After purchasing you will be redirected to a page that contains your download links.

An email will also be sent to you with a link you can use to access your downloads.

If you used PayPal, keep in mind that the purchase confirmation email + download link may have been sent to your PayPal email address.

After purchasing you will be redirected to a page that contains your download links.

An email will also be sent to you with a link you can use to access your downloads.

If you used PayPal, keep in mind that the purchase confirmation email + download link may have been sent to your PayPal email address.

The service I use to handle payments and distribution of digital downloads utilizes a self-service system, so if you ever lose your purchase link, you can use the following link to access your purchases:

https://pyimagesearch.dpdcart.com/portal?https%3A%2F%2Fpyimagesearch.dpdcart.com%2Fportal=undefined

Enter the email you used for the purchase to obtain an activation code, confirm your activation code, and then download your files.

If you run into any issues obtaining your downloads you can of course email me or use my contact form.

The service I use to handle payments and distribution of digital downloads utilizes a self-service system.

If you would ever like to access your downloads just use this link:

https://pyimagesearch.dpdcart.com/portal?https%3A%2F%2Fpyimagesearch.dpdcart.com%2Fportal=undefined

From there, enter the email address you used for the purchase to obtain an activation code, confirm your activation code, and then download your files.

Please note that you may have used a PayPal email, work email, etc. for purchase so double-check your purchase receipt.

If you run into any issues obtaining your downloads you can of course email me or use my contact form.

A unique device is defined as the IP address + browser of your system. You have 5 unique devices that you can download the files.

If you see this error it’s because you have exceeded your total number of unique devices for download.

You’ll need to email me or contact me so I can validate that the devices are legitimate and/or increase the number of allowed unique devices.

All prices listed on PyImageSearch are in United States Dollars (USD).

Payments can be made using credit card or PayPal that support international payments.

You do not need to convert your local currency to USD before purchasing (your credit card or PayPal account should do that for you automatically).

Comparatively, my book/courses are more expensive than most other online books/courses.

But also comparatively, my content deliver far more results and a higher return of investment of both time and finances than other books/courses.

Instead of hearing from me (I’m biased, I wrote them), take a look at some of the reviews of my books and courses that land in my inbox each and every day:

Deep Learning for Computer Vision with Python is a great, in-depth dive into practical deep learning for computer vision. I found it to be an approachable and enjoyable read: explanations are clear and highly detailed. You’ll find many practical tips and recommendations that are rarely included in other books or in university courses. I highly recommend it, both to practitioners and beginners.” — François Chollet, AI researcher at Google and creator of the Keras deep learning library.

Practical Python and OpenCV is a non-intimidating introduction to basic image processing tasks in Python. While reading the book, it feels as if Adrian is right next to you, helping you understand the many code examples without getting lost in mathematical details.” — Dr. Tomasz Malisiewicz, Principal Engineer in Deep Learning at Magic Leap.

“Today I passed my PhD candidacy exam and I have a big thanks to convey to you for that. I used your book on computer vision and deep learning and the concepts really helped me implement my solution faster” — Harsh Singh, a PhD student at the University of Ontario, (who successfully passed his candidacy exam after working through my deep learning book).

PyImageSearch Gurus starts feeding tremendously accessible computer vision knowledge from day 0. It’s like learning how magic is done.” — Caio Iglesias, Computer vision + machine learning enthusiast

“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

Clearly my books and courses have helped these developers, researchers, and students, all with varying levels of experience, come to master deep learning for computer vision.

I even have a few case studies that you can review as well:

While my books and courses are certainly more expensive than most other computer vision deep learning books/courses, you’re getting a significantly higher return on both your finances and your time.

I do not offer my books or courses on Amazon, primarily because:

  • Amazon takes over 50% of the sale price of self-published books (which would put me out of business).
  • Amazon does not offer any control of the shopping cart experience.
  • Amazon’s on-demand program to print and ship self-published author’s book is unreliable and deliveries sometimes never arrive
  • Amazon does not notify me of your email address, ensuring I can deliver your free updates to the books/courses as new editions are released.
  • Amazon does not provide me with any contact information so I would be unable to followup with you if you had any questions
  • Amazon does not allow me to deliver my books in PDF format which is what most PyImageSearch readers prefer

I hope you understand my reasoning — it’s my goal to ensure you not only obtain the computer vision and deep learning knowledge you are seeking, but also have a great customer experience as well.

I do not offer my books or courses for free.

The primary reason is that I feel that I give away enough of myself for free already. I have authored 300+ free blog posts and tutorials on the PyImageSearch blog. I have also personally answered over 14,000 comments on the PyImageSearch blog, again, for free.

There is a point where I need to charge for products to help justify my time spent on PyImageSearch and to further help others as well.

I do hope you understand and I hope you continue to enjoy the free tutorials on the PyImageSearch blog.

I’m sorry to hear your payment is not working.

I use both Stripe (for credit card transactions) and PayPal, two of the most popular services online used for handling tractions. Both support safe, secure payment processing.

Here are the most common issues I see when a payment is not working:

  • Is your credit card number, expiration, and security number correct? Double and triple-check the details just in case there is a typo.
  • Could you try a different payment method? PayPal instead of a credit card or vice versa?
  • Perhaps your bank or credit card blocked the transaction? Your bank or credit card company may have incorrectly blocked the transaction, thinking it was fraud (I’ve seen this happen a few times for larger payments or payments from outside the United States). You should call your bank/credit card company and have them unblock the charge.
  • Have you tried pre-authorizing the charge? One sure-fire way to ensure your payment goes through is to call your bank/credit card and notify them of the payment you’re about to make. They will be able to pre-authorize the charge and ensure it goes through.

If you’re still having difficulty with the payment you can email me or contact me and I will try to help.

Yes.

I keep all of my books and courses updated and current.

After I update a book or a course, you will receive an email with a link to download/access the most recent edition.

Does the following error look familiar?

If so, you are getting this error because of the Hyper-V mode in Windows. There are two steps to fix this problem:

  1. The first is to disable Hyper-V mode from the Windows control panel. Take a look at the answers to this question, which is the same problem you are encountering. Disabling Hyper-V is different on different Windows versions, but following the answer to the question above you should be able to find your solution. That said, also make sure you do step 2 below as well.
  2. The second is to check your BIOS. The next time you boot your system, go into the BIOS and ensure that Virtualization is enabled (normally it’s under some sort of “advanced setting”). If virtualization is not enabled, then the VM will not be able to boot.

Some Windows systems can be a little finicky regarding virtualization. But by following the above two steps you’ll be good to go!

Yes.

If you have any questions while working through one of my books or courses please do reach out to me via email or my contact form.

I prioritize my inbox based on who is a customer versus who is not — if you’re a customer and you email me, you will get a faster response.

Help Me Questions (16)

Sorry, I don’t provide help or support over the phone — I just don’t have the time to.

I also don’t share my phone number so please don’t ask.

You can contact me directly via my contact form.

Sorry, no, I’m too busy to offer one-on-one coaching.

And furthermore, I receive 100+ emails per day along with another 100+ notifications on various social media platforms. It can be hard to keep track of them all.

To ensure I don’t lose track of your message (and so I can help you out), we need to stick to email.

If you don’t have my email you can use my contact form — your message will go straight to my inbox.

Yes, but please reference/cite it and provide a link back crediting the PyImageSearch blog.

You’ll want to include the following information when citing my content:

  • The name of the author (i.e., “Adrian Rosebrock”)
  • The title of the blog post, book, or course (i.e., “OpenCV Face Recognition”)
  • The name of publisher (i.e., “PyImageSearch”)
  • The URL of the blog post, book, or course
  • The date you accessed the tutorial or code

Here’s an example citation that you can use as a template:

Adrian Rosebrock, OpenCV Face Recognition, PyImageSearch, https://www.pyimagesearch.com/2018/09/24/opencv-face-recognition/, accessed on 16 April 2019

If you are citing my work please contact me as well as I love seeing what others are doing with my work — emails like those really make my day!

I get a lot of requests like this, and while I’m more than happy to help, I cannot provide any customizations to the code.

Please keep in mind that I’ve already offered not only the code but an in-depth tutorial to you for free — I cannot take on any additional customizations. I’m sure you understand my position.

That said, here are a few suggestions:

  • I’m a big fan of learning by doing. Take the time to try the customization yourself. Learning by doing gives you the deepest understanding and retention.
  • Break the project into smaller pieces, solve it one step at a time (i.e., don’t type up 100s of lines of code and expect it to work right off the bat)
  • Perhaps I’ve already authored a tutorial on the customization you’re looking for. Have you tried searching the PyImageSearch blog?
  • Have you read the comments section to the tutorial? Perhaps another reader has already done the customization.
  • Have you considered hiring a programmer or contractor to make the necessary changes?

I’m truly flattered that you would like me to be your advisor.

However, I am not affiliated with a university and I do not advise students.

I do offer consulting and contracting work through PyImageSearch.

Instead of going it alone (like I used to do), I’ve teamed up with my former PhD advisor, Dr. Tim Oates, along with Stephen Sklarew, a product and technology executive and consultant.

Together, we’re offering PyImageSearch Consulting for Computer Vision, Deep Learning, and Artificial Intelligence, through their company, Synaptiq.

My primary day-to-day responsibilities still lie with authoring new blog posts, books, and courses, while Tim and Stephen manage the consulting side of the business with myself stepping in when necessary.

If you’re interested in our services, use this link to tell us about your project:

Click here to tell us about your project.

Keep in mind that our services are extremely competitive — the more details you can share regarding your project, budget, and timeline, the more likely we’ll be able to get back to you quickly and help you succeed in your project.

Do you have a question about someone else’s paper, blog post, or code?

I love helping, but as you know, reading through someone’s paper or dissecting another programmer’s code is a tedious, time consuming task — I just don’t have enough capacity for every request I get.

I would definitely advise you to reach out to the author directly.

If you take the time to craft a courteous, humble message and prepare your questions ahead of time, many people will get back to you.

I’ve written a number of tutorials on configuring your development environment on macOS, Linux (Ubuntu), and Raspbian. You can find all of them on this page.

I also provide downloadable, pre-configured development environments (i.e., Virtual Machines) inside my books and courses, including:

These Virtual Machines (VM) are super easy to use and work across all major operating systems, including macOS, Linux, and Windows.

All you need to do is download the VM, install VirtualBox, and import the VM — the entire process takes only a few minutes and will save you hours and hours of time.

I also provide pre-configured Amazon AMI and Microsoft Azure instances if you’re interested in performing deep learning (especially with GPUs).

Since I offer so many free tutorials as well as paid pre-configured development environments I typically don’t offer too much help debugging your own personal environment.

The only exception is if you’re a customer — then I will absolutely help get up and running.

Sorry, no, I don’t officially support Windows here on the PyImageSearch blog. It’s even been 10+ years since I last touched a Windows machine.

If you have a Windows-related issue I would suggest checking StackOverflow.

I love helping, but as you know, reading through someone’s paper or dissecting another programmer’s code is a tedious, time consuming task — I just don’t have enough capacity for every request I get.

Here are my suggestions:

  • Cut your code down dramatically — narrow down on the issue by inserting print  statements or using pdb , Python’s debugger.
  • If you’re getting an error be sure to search Google, StackOverflow, and GitHub for it.
  • If a specific library is throwing an error start with their GitHub and search for it, particularly in the “Issues” page of their GitHub).

I do not have a Slack channel.

I do offer private community forums inside the PyImageSearch Gurus course.

I participate in the forums daily.

Definitely consider joining the course — it’s a great way to get faster, more detailed responses to your questions.

Sorry, no, not at this time.

Do you already have an advisor at your school or university?

If so, you should talk with your advisor first.

It will be much easier for you to complete your research if you focus on areas your advisor already has expertise in. Look at what your advisor has published. What is their research interests? Could you align your own research interests with your advisors in some tangential way?

Not only will your advisor be more naturally interested in your research but they will be able to provide you additional help and guidance through their added domain knowledge.

If you don’t have an advisor I would suggest reading the most recent publications from popular computer vision and machine learning journals, including CVPR, ICML, NIPs, etc.

Read the abstracts and conclusions from these journals and keep track of the ones that interest you the most.

Then, when you’re done, go back to your short list and brainstorm how you might extend their works.

I’m sorry to hear the code is not working for you.

I test all code, images, datasets, etc. before I include them in a blog post and publish the code.

Here are a few suggestions you should try:

  • Did you use the “Downloads” section of the tutorial to download the source code? (The downloads section can be found at the bottom of the post, just above the comments section).
  • Did you copy and paste the code from a tutorial? If so, stop immediately and use the “Downloads” section — you may have introduced an error or bug when copying and pasting.
  • Have you double and triple checked the paths to the input files are correct?
  • Have you tried running the code from the command line and not an IDE or Jupyter Notebook?
  • Have you verified you are passing in the proper command line arguments to the script?
  • Have you searched StackOverflow for the error?
  • If your error is related to a specific library, have you searched for the error on the library’s GitHub page?
  • Have you read the comments section or at least did ctrl + f  search on the page for your error? Most common errors are addressed in the comments.

If you think you found a bug in the tutorial, you should contact me.

To start, I would recommend searching the PyImageSearch blog first.

Head to Google and search for:

site:pyimagesearch.com your keywords here

The site:pyimagesearch.com  will instruct Google to search only my blog for your particular topic.

Secondly, you should take a look at my books and courses:

Between my blog posts, books, and courses I’ve covered most of the popular computer vision topics.

Maybe.

I always love suggestions, and while I cannot guarantee if/when I will cover your topic, I would like to hear your suggestion.

To give a suggestion either send an email or use my contact form.

Email Questions (7)

Yes, you can change the email address used to receive emails from PyImageSearch (including newsletter and purchase emails).

To have your email address updated please contact me (either via email or my contact form) and provide the following information:

  • Your current email address you are receiving PyImageSearch emails to
  • The new email address you would like to receive emails to

Yes, you may either email me directly or use my contact form — both of which will go straight to my inbox.

However, keep in mind that I receive 200+ emails per day. No essays, code dumps, or long lists of questions. One question per email.

In order to handle such an email volume I prioritize my inbox into two segments:

  1. Customer questions: If you are a customer of mine and have purchased one of my books/courses, please let me know in your question. I will then place your email/question in a special priority queue and get back to you ASAP.
  2. Non-customer questions: If you are not a customer, I place your question in a general queue.

I first answer all customer questions. Any time left over goes to helping non-customer questions and helping the community at large. Just kindly understand that I’m only a single person and there’s only so much time in the day — I cannot get to all questions in my general queue (or otherwise I would be spending my entire day doing nothing but answering questions).

If I think your question is appropriate and that other PyImageSearch readers would benefit from seeing the answer to the question, I may decide to answer it during my weekly live office hours (every Thursday from 2-3PM).

The PyImageSearch blog receives 200+ emails per day. In order to handle such an email volume I prioritize my inbox into two segments:

  1. Customer questions: If you are a customer of mine and have purchased one of my books/courses, please let me know in your question. I will then place your email/question in a special priority queue and get back to you ASAP.
  2. Non-customer questions: If you are not a customer, I place your question in a general queue.

I first answer all customer questions. Any time left over goes to helping non-customer questions and helping the community at large. Just kindly understand that I’m only a single person and there’s only so much time in the day — I cannot get to all questions in my general queue (or otherwise I would be spending my entire day doing nothing but answering questions).

If I think your question is appropriate and that other PyImageSearch readers would benefit from seeing the answer to the question, I may decide to answer it during my weekly live office hours (every Thursday from 2-3PM).

Do you need faster, more in-depth support from me?

If so, you should join the PyImageSearch Gurus course.

The Gurus course not only includes 168+ lessons on computer vision, but also private community forums that I personally participate in daily.

If you’re serious about getting my help then I ask that you invest in both yourself and your education. I’ll then be able to provide you with faster, more targeted help.

You may have signed up for too many of my courses/sample chapter offerings.

  • My email newsletter comes out once per week
  • The free 17-day email crash course I offer sends out 1 email per day (excluding weekends)
  • If you signed up for the table of contents or sample chapters/lessons to my books/courses you may receive a few emails from those as well

I’ve found that the vast majority of PyImageSearch readers really love email-based courses.

They enjoy having the lessons sent directly to them, that way the lessons are ready for them in their inbox.

I receive many emails per day from readers thanking me for the lessons in the crash course.

Plus, if you need help from me, I’m just an email away — just hit the reply button and your response will go straight to my inbox.

But please, keep your email short. I receive 100+ emails per day, it’s hard enough to get through my queue as it is. Keep your emails brief, one question per email please.

You can, but please don’t be offended if I ask you to send me an email instead.

I receive 100s of notifications per day across Facebook, Twitter, LinkedIn, and other social media — it can be hard to keep track of them all!

To ensure I don’t lose track of your message (and so I can help you out), I may ask that you please email me instead. From there I can get you back to you.

Office Hours Questions (4)

Yes, I offer LIVE Office Hours every Thursday from 2-3PM (you can convert that time to your own timezone here).

Office hours are totally free and anyone is welcome to join in and view the live office hours feed.

During office hours I answer questions I have received from PyImageSearch readers just like yourself over the week. For each question I answer I donate $50 of my own personal funds to a selected charity of the week.

If you cannot make it to the live office hours due to prior obligations or timezone differences, no worries! I record each session and post it for you to watch at your leisure.

5 years ago I started PyImageSearch with the goal of empowering students, developers, and researchers with free tutorials and free help to master computer vision, deep learning, and OpenCV. I believe, on all counts, that the journey has been a huge success.

I love running PyImageSearch, because after many years, I’ve found that what gives me energy is helping others. Helping someone learn a new concept or algorithm, and have it just *click* and the lightbulb flip *on* is what motivates me to teach and help.

But there’s a problem…it’s hard to help everyone.

On an average day I receive ~200 emails and questions to my PyImageSearch inbox.

While I enjoy taking the time to answer questions, trying to handle that load on a daily basis just isn’t feasible.

I ran the numbers (because I’m a nerd and I like numbers) and calculated that I could spend ~71.8% of my week exclusively answering reader questions, but, to be blunt, the electric company doesn’t let me pay my bill with “how many questions I answered today” (although that would be really awesome if they did).

Email-based questions are especially hard because it’s 1:1 help…no one else benefits from the discussion. Facebook Messenger, Twitter DMs, and LinkedIn messages are the same. 1:1 help is just not an efficient use of our time, especially since my goal is to “do the most good” and help as many people in the computer vision/deep learning community as a whole.

By doing office hours I can now:

  • Efficiently answer your questions
  • Share the knowledge with the rest of the community so everyone can benefit

Furthermore, my Dad being diagnosed with cancer last year has been an eye opening experience for me. Selfishly, I want to spend as much time with him as I possibly can — and to that end, I am taking action in both my business and personal life to facilitate the time left with my family.

I believe office hours are the best possible solution as:

  • The community still receives free help
  • Charity benefits (for each question I answer I donate $50 of my own personal funds to the specified charity of the week)
  • And I reclaim time with my loved ones

It’s win/win all the way around.

Office Hours are held every Thursday from 2-3PM EST.

To watch the live office hours feed (or watch previous sessions), use this link:

https://www.pyimagesearch.com/office-hours/

Yes, every session is recorded.

You can check out previous office hours session (or tune into a live session) on the official Office Hours page.

Website Questions (8)

Thank you for the offer.

But please do not translate my blog posts, books, or courses into another language.

While I really appreciate you offering:

  • I prefer to retain complete control over my content
  • I’m too busy to manage any type of translation process
  • I keep my content up to date (and if it was translated I wouldn’t be able to do so)

Absolutely.

If you have a question about a specific tutorial please leave a comment on the corresponding blog post page, but please, only one question per comment. The PyImageSearch blog receives 100+ new comments per day — it can be challenging to get to them all and there’s only so many hours in the day.

If I don’t get to your question I ask that you not be offended, I simply just ran out of time to provide free community help for the week.

I moderate all comments on the blog, typically 1-2x per week. After your comment is moderated an approved, it will appear on the blog.

Each tutorial that includes source code, example images, datasets, etc. has a corresponding “Downloads” section at the bottom of the tutorial, similar to the image below:

Whenever you would like to download the source code to the post, scroll to the bottom of the guide (where the “Downloads” section is), and enter your email address in the form — your source code will be emailed to you automatically.

Thank you for being thoughtful and citing my content, I really appreciate that!

You’ll want to include the following information when citing my content:

  • The name of the author (i.e., “Adrian Rosebrock”)
  • The title of the blog post, book, or course (i.e., “OpenCV Face Recognition”)
  • The name of publisher (i.e., “PyImageSearch”)
  • The URL of the blog post, book, or course
  • The date you accessed the tutorial or code

Here’s an example citation that you can use as a template:

Adrian Rosebrock, OpenCV Face Recognition, PyImageSearch, https://www.pyimagesearch.com/2018/09/24/opencv-face-recognition/, accessed on 16 April 2019

If you are citing my work please contact me as well as I love seeing what others are doing with my work — emails like those really make my day!

I write a lot so I’m bound to make typos from time to time.

If you find a typo please email me or use the PyImageSearch contact form to alert me.

Please include the URL of where the typo exists including the typo itself.

I’ll then fix the typo ASAP.

I hand moderate all comments on the PyImageSearch blog, typically once every couple days.

The PyImageSearch blog receives 100+ new comments per day and it can be challenging to get to them all (but I do try to).

After your comment is moderated an approved, it will appear on the blog.

If you need faster answers to your questions you should consider joining the PyImageSearch Gurus course which includes private forums that I participate it in at least once per day.

Please don’t.

Including source code or terminal output (especially lots of it) destroys the HTML formatting of the post — and frankly, it makes the page look ugly. I put a lot of time into authoring these free tutorials and I want to keep the page easy to read. I hope you understand.

If you do post a comment with lots of source code or terminal output I will not approve your comment.

I’m sorry to hear the code is not working for you.

I test all code, images, datasets, etc. before I include them in a blog post and publish the code.

Here are a few suggestions you should try:

  • Did you use the “Downloads” section of the tutorial to download the source code? (The downloads section can be found at the bottom of the post, just above the comments section).
  • Did you copy and paste the code from a tutorial? If so, stop immediately and use the “Downloads” section — you may have introduced an error or bug when copying and pasting.
  • Have you double and triple checked the paths to the input files are correct?
  • Have you tried running the code from the command line and not an IDE or Jupyter Notebook?
  • Have you verified you are passing in the proper command line arguments to the script?
  • Have you searched StackOverflow for the error?
  • If your error is related to a specific library, have you searched for the error on the library’s GitHub page?
  • Have you read the comments section or at least did ctrl + f  search on the page for your error? Most common errors are addressed in the comments.

If you think you found a bug in the tutorial, you should contact me.

Load More


Need more help?

I’m dedicated to helping you learn computer vision, deep learning, and OpenCV.

If you could not find your question in the list above, here are a few more options:

  • Take a look at Practical Python and OpenCV
    • My gentle introduction to the world of computer vision and image processing through OpenCV.
    • If you’re brand new to the world of computer vision and image processing, start with this book so you can learn the fundamentals first.
  • Read through Deep Learning for Computer Vision with Python
    •  In-depth dive into the world of computer vision and deep learning.
    • Whether this is the first time you’ve worked with machine learning and neural networks or you’re already a seasoned deep learning practitioner, DL4CV is engineered from the ground up to help you reach expert status.
  • Join the PyImageSearch Gurus course
    • Similar to a college survey course in computer vision but much more hands-on, and practical.
    • Covers 13 modules broken out into 168 lessons, with other 2,161 pages of content.
    • Includes private community forums which I participate in daily.
      • Great way to get faster, more detailed answers to your questions.
  • Contact me — feel free to ask me a question, but kindly keep it to one question at a time.