Computer Vision with OpenCV 3 and Qt5, Now Available for Preorder

It is one thing to become an author, but it is totally another level of joy, to be published by my most favorite publisher in the computer science industry. So, it is with great pleasure that today I can announce that my upcoming book about OpenCV and Qt is available for preordering on Amazon, and also from PacktPub. It’s titled “Computer Vision with OpenCV 3 and Qt5”, and it aims to teach both computer vision and application development for developers who are familiar with C++ (on an intermediate level), but want to learn about powerful cross-platform frameworks such as Qt and OpenCV with hands-on examples and clear instructions. The book is in its final stages of completion, so I’m also excited to announce that our goal is to make it available by the beginning of 2018 and we are working hard to make it happen. Here are the links to preorder:

https://www.packtpub.com/application-development/computer-vision-opencv-3-and-qt5



How to Build OpenCV 3.3.X for Android

In this post I’m sharing the required steps for building OpenCV 3.3.X (to be precise, OpenCV 3.3.0 which was released about a week ago) for Android. You can also download the pre-built libraries from here but it’s always a good idea to build the libraries yourself in case you want any special configurations such as Nvidia Carotene, OpenCV World and so on. So here it is:

Continue reading “How to Build OpenCV 3.3.X for Android”

How to Get Past the Infamous “Insufficient Count of Samples” Error in OpenCV Cascade Training

Many people who have tried OpenCV’s traincascade tool know about a very disturbing error which (at least at the moment) seems to have no good solution, but nevertheless this issue has a solution (even if not convenient) so we need to stick to what we have at hand. My Cascade Trainer GUI app which also uses OpenCV as the underlying framework is also seen to produce this error with many users so I decided to discuss this and share my solution with you all, but please make sure you put your comment below if you’ve got any questions or better suggestions. So, let’s get down to it.

Continue reading “How to Get Past the Infamous “Insufficient Count of Samples” Error in OpenCV Cascade Training”

How to Use OpenCV in Unity (Example Project)

This is a post that many people have requested recently. I’m going to describe how you can use OpenCV in Unity. Of course we’ll be using official OpenCV libraries and not any assets or existing plugins.  For those of you who aren’t familiar with the subject, Unity is a very popular game engine which allows building games, apps and so called experiences with much ease. Unity allows some modified form of JavaScript and also C# for its scripting. In this example project I’ll use C# since that’s the language I’m familiar with but it shouldn’t be hard to adapt this to JavaScript (but you’re gonna do it yourself if needed, sorry) so let’s start.

Continue reading “How to Use OpenCV in Unity (Example Project)”

How to Use C++/Qt/QML/OpenCV to Write Mobile Applications

I have avoided using QML for long time and always wrote even the most simple applications using Qt Widgets and C++ code but the release of Qt’s Quick Controls 2 and Material Style just made it very irresistible and I had to go for it. Well it didn’t take too long to get a hold of things (for a newcomer) since I had enough programming experience and QML is just too well-structured and easy to learn and use. In this post I’m going to share a project that demonstrates using OpenCV in QML to write beautiful and powerful Android (and other platforms) apps.

Continue reading “How to Use C++/Qt/QML/OpenCV to Write Mobile Applications”

Best Way to Train and Test Haar or LBP Classifiers

cascade-trainer-gui

You can use Cascade Trainer GUI to easily train and test your cascade classifiers. It has a very simple user interface which helps with everything  related to training cascade classifier that are usable with OpenCV. Starting from preparing the positive and negative image data set, its cropper tool will help you with quickly preparing your training data set. Just make sure you have enough videos of the object you want to train a classifier for, and detect. It also allows avoiding all the complexities of setting parameters for the training. Of course if you want a very high quality classifier, then you’d have to touch a few parameters here and there but for the most part, it’s select and Go.

You can use the Train tab to train a classifier, and then use the Test tab to test it on a video or image. And switch between them as long as you’re not satisfied with your classifier’s performance.

You can always download the latest version of Cascade Trainer GUI from its official website, or by clicking here:

And make sure to report any bugs and missing features using the Contact Me page:

List of Image Formats Supported by OpenCV

Below is the list of supported image formats in OpenCV. You should note that if you build OpenCV yourself you have the option to remove support for some of the types but out of the box OpenCV supports the following:

  • Windows bitmap (bmp)
  • Portable image formats (pbm, pgm, ppm)
  • Sun raster (sr, ras)
  • JPEG (jpeg, jpg, jpe)
  • JPEG 2000 (jp2)
  • TIFF files (tiff, tif)
  • Portable network graphics (png)