Recently PACT sent me a free copy of a book on OpenCV because of my background writing about the topic. First things first, OpenCV Essentials is definitely not a book for an image processing/computer vision novice. If this sounds like you, then I’d recommend you refer to my post on resources for getting started with OpenCV here, and then come back to this book in a few months. However, if you’ve been using OpenCV and programming in C++ for at least a few months and want a resource which you can quickly refer to when you’re delving into some of the deeper functionality of OpenCV, then I can thoroughly recommend this book to you.
I’ve been using OpenCV for about one and a half years, and over that time I have witnessed a definite improvement in the documentation available online. However, good examples of some of the deeper functionality are still difficult to come across, and the ability of this book to plug this gap is one of its chief virtues.
A few sections of the book I found particularly useful include:
- Examples describing how to implement interactive GUIs with OpenCV. I haven’t had any need to create these kind of programs to date, however this book is going to be my first point of reference in the future if I ever have to.
- There was a really thorough chapter on 2D features (such as SIFT, SURF, etc). I’ve been using SIFT a fair bit throughout the year and it was a massive pain trying to find up-to-date code in this area online.
- The chapters on object detection and machine learning were really interesting, delving into cascades, latent SVMS and KNNs.
To sum up, my recommendation is that if you’re working on an OpenCV project at the moment, or have been using OpenCV for a while and want to deepen your understanding of the library, I’d check out the table of contents for the book to see if one of the chapters would be use. OpenCV Essentials is available here.