OpenCV 3.0 released — and the coming changes to the PyImageSearch blog.


It’s been a long time coming, but OpenCV 3.0 has finally been released!

This update is definitely one of the most extensive overhauls to the library in recent years, and boasts increased stability, performance increases, and OpenCL support.

But by far, the most exciting update for us in the Python world is:

Python 3 support!

After years of being stuck in Python 2.7, we can now finally use OpenCV in Python 3.0! Awesome news indeed!

So you might be asking “What does this mean for PyImageSearch?”

Are we dropping OpenCV 2.4.X immediately and moving to OpenCV 3.0? Are we officially done with Python 2.7?

The short answer is no.

OpenCV 3.0 being released is awesome news — but this is also a transition time for the computer vision community. Some of us will be dependent on the previous OpenCV 2.4.X version. Others will be dashing to grab the latest bleeding-edge copy of v3.0. And perhaps others of us won’t really care what version we are using provided that our code executes and runs as expected.

Because of these variety of reasons, moving forward I will be writing content related to both OpenCV 2.4.X and OpenCV 3.0.

I think it would be a huge mistake to abandon writing content on OpenCV 2.4.X right now. It’s older. It’s more established. And it’s more widely used.

However, it would be an equally huge mistake to ignore OpenCV 3.0 until it matures and gets a few minor releases under its belt. OpenCV 3.0 is indeed the future — and we need to treat it as such.

Because of this, I have come up with the following plan:

We’ll be doing a mix of OpenCV 2.4.X and OpenCV 3.0.

OpenCV 3.0 is brand new. It’s shiny. It’s sexy. We’ll definitely be taking off the wrapper and having some fun.

But we’ll still be doing a fair amount of tutorials in OpenCV 2.4.X. Remember, OpenCV 2.4.X is still the de facto library for computer vision and image processing and will remain so until the v3.0 matures a little bit and obtains a substantial adoption rate.

All new blog posts will be marked with OpenCV + Python versions.

All new articles, tutorials, and blog posts published on PyImageSearch will include both the assumed OpenCV version and Python version to ensure that you know which development environment we are using.

You can also expect some OpenCV 3.0 install tutorials on a variety of platforms coming soon.

All old blog posts will also be marked with OpenCV + Python versions.

Just like all new posts will list the assumed versions of OpenCV and Python, I will also be going back and updating all old blog posts to include the required versions of OpenCV and Python.

This change will not happen overnight, but I’ll be updating a few older articles per week.

The updated posts will include a section like this:

Figure 1: All blog posts on PyImageSearch will include a section that explicitly defines which Python and OpenCV versions are being used.

Figure 1: All blog posts on PyImageSearch will include a section that explicitly defines which Python and OpenCV versions are being used.

What about Practical Python and OpenCV + Case Studies?

You might be wondering about my books, Practical Python and OpenCV + Case Studies — will they be updated to OpenCV 3.0?

The answer is YES, Practical Python and OpenCV + Case Studies will absolutely be updated to cover OpenCV 3.0.

I have already forked the example code from the books and am updating the code examples.

The first update to the book will include revised source code for those who want to run the provided examples using Python 3 and OpenCV 3.0.

The second update will then transition the actual code explanations in the book to OpenCV 3.0.

I will likely be providing both a 2.4.X and 3.0 version of the book.

Regardless, the update OpenCV will in no way harm the integrity of Practical Python and OpenCV + Case Studies. Definitely consider purchasing a copy if you want to get up to speed on OpenCV. As I promised above, the book will be updated to cover OpenCV 3.0 as well.

There will be a transition period.

As I mentioned in the sections above, we will be doing a mix of OpenCV 2.4.X and OpenCV 3.0 articles and tutorials.

In the beginning most of these tutorials will be using the 2.4.X version.

But as the OpenCV 3.0 matures, we’ll mature with it and start introducing more and more v3.0 tutorials.

Exactly how long will the transition period take?

It’s hard to put an exact timeline on the transition period since it depends on a variety of factors:

  • It depends on how willing developers and programmers are to update to a new version of OpenCV and risk legacy code breaking (which based on my initial tests, that risk is very high).

  • It depends on the actual demand of OpenCV 3.0 tutorials.

  • And it depends on your feedback

My guess is that it could take up to 6-12 months before we use OpenCV 3.0 regularly on PyImageSearch, but who knows — my estimate could be way off. It could be shorter. And it could be longer.

Realistically, my gut tells me that we won’t be fully transitioning over until the 3.1 release. Remember, PyImageSearch is a teaching blog, and thus it’s very important that all of the code examples work as advertised.

Either way, my promise to you is that I’ll evolve the PyImageSearch blog as OpenCV evolves — and we’ll continue to ensure that PyImageSearch is the go to website to learn computer vision + OpenCV.

If anything, the only real change you’ll see is more posts from me.

I think the only big change you’ll see on the PyImageSearch blog is perhaps more blog posts.

Each Monday I’ll continue publishing the big blog post for the week. And then you might see another short blog post later in the week that details a particular caveat of OpenCV 3.0. As I said, this will be a transition period and each post published will detail the assumed Python and OpenCV versions.

So what do you think?

Do you like the plan? Hate the plan?

Leave a comment or shoot me a message — your input and response is what makes this blog possible!

, , , ,

5 Responses to OpenCV 3.0 released — and the coming changes to the PyImageSearch blog.

  1. Fabio G June 9, 2015 at 12:11 am #

    Sounds awesome! :D. Just one question, will you be making an updated version of your ubuntu vbox image (as it was very handy :D)

    Thanks for all the hard work you put on this blog!

    • Adrian Rosebrock June 9, 2015 at 6:39 am #

      Absolutely! I’ll definitely be updating the virtual machine. As I mentioned in the post, the book will be updated in phases. First the code itself. Followed by the book + code explanations. And then finally the VM.

  2. Andre June 10, 2015 at 3:23 pm #

    Sounds Cool. Thank you for being such a great teacher.


  1. Install OpenCV 3.0 and Python 2.7+ on OSX - PyImageSearch - June 15, 2015

    […] As I mentioned last week, OpenCV 3.0 is finally here! […]

  2. OpenCV 3 adoption rate - PyImageSearch - November 23, 2015

    […] we all know, OpenCV 3.0 was officially released back in June of 2015. This new update incorporated a ton of new features and optimizations, […]

Before you leave a comment...

Hey, Adrian here, author of the PyImageSearch blog. I'd love to hear from you, but before you submit a comment, please follow these guidelines:

  1. If you have a question, read the comments first. You should also search this page (i.e., ctrl + f) for keywords related to your question. It's likely that I have already addressed your question in the comments.
  2. If you are copying and pasting code/terminal output, please don't. Reviewing another programmers’ code is a very time consuming and tedious task, and due to the volume of emails and contact requests I receive, I simply cannot do it.
  3. Be respectful of the space. I put a lot of my own personal time into creating these free weekly tutorials. On average, each tutorial takes me 15-20 hours to put together. I love offering these guides to you and I take pride in the content I create. Therefore, I will not approve comments that include large code blocks/terminal output as it destroys the formatting of the page. Kindly be respectful of this space.
  4. Be patient. I receive 200+ comments and emails per day. Due to spam, and my desire to personally answer as many questions as I can, I hand moderate all new comments (typically once per week). I try to answer as many questions as I can, but I'm only one person. Please don't be offended if I cannot get to your question
  5. Do you need priority support? Consider purchasing one of my books and courses. I place customer questions and emails in a separate, special priority queue and answer them first. If you are a customer of mine you will receive a guaranteed response from me. If there's any time left over, I focus on the community at large and attempt to answer as many of those questions as I possibly can.

Thank you for keeping these guidelines in mind before submitting your comment.

Leave a Reply