After publishing this post some time ago which was a tutorial on how to create a Computer Vision Docker image using OpenCV and TensorFlow, I got many questions from people about the issues they’re facing when they try to use it. If you think something of a similar nature happened to you, then this post is meant for you.
Continue reading “Computer Vision Docker Image with TensorFlow and OpenCV, From Scratch”Computer Vision Docker Image with TensorFlow and OpenCV
It’s almost inevitable to use Docker images these days especially if you want to have a consistent development environment and configuration. They make life extremely easy by guaranteeing that your application (in this case, Computer Vision application) will always behave the same way as it did when you developed it. How? By using Containerization. If you’re not familiar with the topic then I suggest first doing some research and reading on “Containerization vs Virtualization” and how to use Docker. Then come back to this tutorial to learn how to create a Computer Vision Docker Image that you can use to develop and play around with TensorFlow and OpenCV for Object Detection.
Continue reading “Computer Vision Docker Image with TensorFlow and OpenCV”How to Create an Image Classifier Using Qt, OpenCV and TensorFlow
[Updated this post on April 04, 2019, to make sure this tutorial is compatible with OpenCV 4.x and TensorFlow 2.0]
In this post we’re going to learn how to create an image classifier application with a proper GUI that allows the users to choose a camera or a video file as the input and classify the incoming images (video or camera frames) in real time. We’ll be using the power of Qt for cross-platform GUI creation and anything related to visualizing the output and allowing a seamless experience for the user. We’ll also be using TensorFlow and OpenCV to handle the actual classification task, along with accessing cameras and video files.
With the more recent versions of OpenCV, a new module was introduced for handling Deep Learning problems, which is getting better and better by each release. This module is called “dnn” and I recommend getting the latest version of OpenCV (3.4.1 at the time of writing this article) to make sure you face no issues at all (or less issues if any). Using this new module, we can load and use deep learning models from popular 3rd party libraries such as TensorFlow, Caffe, DarkNet and so on. In our example project we’ll use pre-trained TensorFlow models, namely ssd_mobilenet_v1_coco, however, you can easily use other models too if you get a firm grasp on all of the information provided here.