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)

Recognizing characters on the screen

In the previous sections, we finished discussing almost all of the features of our Literacy application. In this section, in order to improve the user experience of the application, we will add a feature to allow the user to grab a part of the screen as the input image of the application. With this feature, the user can click the mouse button and then drag it to select a rectangular region of the screen as an image. Then, they can either save the image as a file or perform OCR on it.

We will create a new class to implement this feature. The new class is called ScreenCapturer, and is defined in the header file, screencapturer.h:

    class ScreenCapturer : public QWidget {
Q_OBJECT

public:
explicit ScreenCapturer(MainWindow *w);
~ScreenCapturer();

protected:
void paintEvent(QPaintEvent *event) override;
...