Book Image

Qt 5 and OpenCV 4 Computer Vision Projects

By : Zhuo Qingliang
4 (1)
Book Image

Qt 5 and OpenCV 4 Computer Vision Projects

4 (1)
By: Zhuo Qingliang

Overview of this book

OpenCV and Qt have proven to be a winning combination for developing cross-platform computer vision applications. By leveraging their power, you can create robust applications with both an intuitive graphical user interface (GUI) and high-performance capabilities. This book will help you learn through a variety of real-world projects on image processing, face and text recognition, object detection, and high-performance computing. You’ll be able to progressively build on your skills by working on projects of increasing complexity. You’ll begin by creating an image viewer application, building a user interface from scratch by adding menus, performing actions based on key-presses, and applying other functions. As you progress, the book will guide you through using OpenCV image processing and modification functions to edit an image with filters and transformation features. In addition to this, you’ll explore the complex motion analysis and facial landmark detection algorithms, which you can use to build security and face detection applications. Finally, you’ll learn to use pretrained deep learning models in OpenCV and GPUs to filter images quickly. By the end of this book, you will have learned how to effectively develop full-fledged computer vision applications with OpenCV and Qt.
Table of Contents (11 chapters)

Adding features using Qt's plugin mechanism

In the previous section, we added a new menu and toolbar named Edit to our application and added an action to both of them to blur the opening image. Let's recall the progress of adding this feature.

First, we added the menu and toolbar, and then the action. After the action was added, we connected a new slot to the action. In the slot, we got the opening image as an instance of QPixmap and converted it into a QImage object, and then a Mat object. The crucial editing work began here—we used OpenCV to modify the Mat instance to get the editing work done. Then, we converted Mat back into QImage and QPixmap accordingly to show the edited image.

Now, if we want to add another editing feature to our app, what should we do? Of course, just repeating the preceding process of adding the blurring action is fine, but it's...