In this post I’ll describe how to combine the power of Qt and OpenCV to develop a good looking and fun object detector. The method explained here contains quite a few things to learn and use in your current and future projects, so let’s get started.
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:
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:
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.
In this post I’m sharing a couple of very simple tricks to perform an efficient Rotate or Flip (Mirror) operation on OpenCV Mat images.
In this post I’m sharing the pre-built libraries and binaries for OpenCV that I use to build Qt/QML and OpenCV powered apps for Android (armeabi-v7a) phones. An example of such application is Quick-Camera-CV which I shared its source codes in a previous post. Continue reading “OpenCV 3.2.0 Pre-Built Libraries for Android”
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.
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.
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)