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”

How to Show a Toast Message in Qt for Android

If you’re a regular Qt user (like me) and have tried writing Android applications with Qt then you must have come across situations where you’ve needed some very simple capabilities of Android API but it wasn’t present in the Qt library. Displaying a Toast message in Qt for Android is one of those situations. In this post I’m going to describe how to display Toast messages in Qt for Android, and it’s also a very good example of showing how to use JNI (QAndroidJniObject class in Qt, along with Java code) to access Java code from within C++/Qt code.

Continue reading “How to Show a Toast Message in Qt for Android”

How to Access Android Camera Using Qt/C++

In this article I am going to describe the required steps needed for accessing Android Camera (or Default Camera Interface) using Qt. Unfortunately OpenCV does not provide a reliable way of connecting to Camera in Android so you have go for a method like this if you intend to write an Android application which uses OpenCV and Qt together. I strongly recommend that you should first read this article (which describes how to access Android Gallery from Qt) and also this article (which shows how to mix Java and C++ code in Qt) and then return here because I will be assuming that you are familiar with those processes. So if you can already access Android Gallery using Qt then continue reading the steps described below.

Continue reading “How to Access Android Camera Using Qt/C++”

Image Filtering Using Fourier Transform

In Machine Vision there is a magical trick that involves Fourier transformation of an image and I would like to share it with you today. I learned this long ago from a professor of mine but I remember back then there was not much experience and information about this on the web. Also there was no program that allowed experimenting with Fourier transformation of Images, until I developed an Android application titled Image Transformer, using OpenCV and Qt, which allows you to do just that.

Continue reading “Image Filtering Using Fourier Transform”

How to get screen size in Qt

Qt includes a very simple method to get the size of the screen (width and height). Here it is:

QSize size = qApp->screens()[0]->size();

Note that this function works perfectly in Android and iOS too.

Another thing to note is that if you replace [0] with 1, 2, 3, … you can access other monitors (if there are any) on desktop computers.





How to Open Android Image Gallery in Qt

This article describes how to open default Android Gallery in Qt using a mixture of Android’ Java and Qt (C++) code. It is specially useful if you are working with images, for example if you want to open a Mat Image in OpenCV using imread function or if you are just writing some kind of image viewer program. Unfortunately Qt does not offer this (yet) by default so I thought I could share it with you.

Continue reading “How to Open Android Image Gallery in Qt”

How To Mix C++ And Java Code (In Qt For Android)

Qt allows you to use Java code in your Android applications. This is the same code that Android Studio (or Eclipse etc.) users use when they are writing applications for Android. In Qt, by default, you are limited to C++ code and what the Qt modules have to offer (which in most cases are enough) but there are certain situations where you need to use something from Android API which is not provided in Qt. An obvious example for this can be using the default Android Galley to open a picture, or using Text-To-Speech engine or any other API that you can think of. If you don’t want to be limited to what is provided by Qt while writing Android apps then follow the steps below to be able to add Java code to your Qt project.

Continue reading “How To Mix C++ And Java Code (In Qt For Android)”