Computer Vision with OpenCV 3 and Qt5: Build visually appealing, multithreaded, cross-platform computer vision applications

Amin Ahmadi Tazehkandi




Blend the power of Qt with OpenCV to build cross-platform computer vision applications

Key Features

  • Start creating robust applications with the power of OpenCV and Qt combined
  • Learn from scratch how to develop cross-platform computer vision applications
  • Accentuate your OpenCV applications by developing them with Qt

Book Description

Developers have been using OpenCV library to develop computer vision applications for a long time. However, they now need a more effective tool to get the job done and in a much better and modern way. Qt is one of the major frameworks available for this task at the moment.

This book will teach you to develop applications with the combination of OpenCV 3 and Qt5. This book will teach you to create cross-platform computer vision applications. We'll begin by introducing Qt, its IDE, and its SDK. Next you'll learn how to use the OpenCV API to integrate both tools, and see how to configure Qt to use OpenCV. You'll go on to build a full-fledged computer vision application throughout the book.

Later, you'll create a stunning UI application using the Qt widgets technology, where you'll display the images after they are processed in an efficient way. At the end of the book, you'll learn how to convert OpenCV Mat to Qt QImage. You'll also see how to efficiently process images to filter them, transform them, detect or track objects as well as analyze video. You'll become better at developing OpenCV applications.

What you will learn

  • Get an introduction to Qt IDE and SDK
  • Be introduced to OpenCV and see how to communicate between OpenCV and Qt
  • Understand how to create UI using Qt Widgets
  • Know to develop cross-platform applications using OpenCV 3 and Qt 5
  • Explore the multithreaded application development features of Qt5
  • Improve OpenCV 3 application development using Qt5
  • Build, test, and deploy Qt and OpenCV apps, either dynamically or statically
  • See Computer Vision technologies such as filtering and transformation of images, detecting and matching objects, template matching, object tracking, video and motion analysis, and much more
  • Be introduced to QML and Qt Quick for iOS and Android application development

Who This Book Is For

This book is for readers interested in building computer vision applications. Intermediate knowledge of C++ programming is expected. Even though no knowledge of Qt5 and OpenCV 3 is assumed, if you're familiar with these frameworks, you'll benefit.

Table of Contents

  1. Introduction to Qt and OpenCV
  2. Creating our first Qt and OpenCV project
  3. Creating a comprehensive Qt+OpenCV project
  4. Mat and Qimage
  5. The Graphics View Framework
  6. Image Processing in OpenCV
  7. Features and Descriptors
  8. Multi-Threading
  9. Video Analysis
  10. Debugging and Testing
  11. Static Linking and Deployment
  12. Computer Vision Apps for Android and iOS




  • 利用OpenCV和Qt的強大功能開始創建堅固的應用程式

  • 從頭開始學習開發跨平台的計算機視覺應用程式

  • 通過使用Qt開發強化您的OpenCV應用程式



本書將教您如何使用OpenCV 3和Qt5開發應用程式。本書將教您創建跨平台的計算機視覺應用程式。我們將首先介紹Qt、其集成開發環境(IDE)和軟體開發工具包(SDK)。接下來,您將學習如何使用OpenCV API來整合這兩個工具,並了解如何配置Qt以使用OpenCV。您將在整本書中建立一個完整的計算機視覺應用程式。

隨後,您將使用Qt小工具技術創建一個令人驚嘆的UI應用程式,在這個應用程式中,您將以高效的方式顯示處理後的圖像。在本書結尾,您將學習如何將OpenCV Mat轉換為Qt QImage。您還將看到如何高效地處理圖像,以過濾、轉換、檢測或跟踪物體以及分析視頻。您將在開發OpenCV應用程式方面更加優秀。


  • 瞭解Qt IDE和SDK

  • 介紹OpenCV並了解如何在OpenCV和Qt之間進行通信

  • 了解如何使用Qt小工具創建UI

  • 使用OpenCV 3和Qt 5開發跨平台應用程式

  • 探索Qt5的多線程應用程式開發功能

  • 改進OpenCV 3應用程式開發,使用Qt 5

  • 動態或靜態地構建、測試和部署Qt和OpenCV應用程式

  • 瞭解計算機視覺技術,如圖像過濾和轉換、物體檢測和匹配、模板匹配、物體跟踪、視頻和運動分析等

  • 介紹QML和Qt Quick,用於iOS和Android應用程式開發


本書適合對建立計算機視覺應用程式感興趣的讀者。預期讀者具備中級的C++編程知識。即使您對Qt5和OpenCV 3沒有了解,如果您熟悉這些框架,您也會受益。


  1. Qt和OpenCV簡介

  2. 創建我們的第一個Qt和OpenCV項目

  3. 創建全面的Qt+OpenCV項目

  4. Mat和Qimage

  5. 圖形視圖框架

  6. OpenCV中的圖像處理

  7. 特徵和描述符

  8. 多線程

  9. 視頻分析

  10. 調試和測試

  11. 靜態鏈接和部署

  12. Android和iOS的計算機視覺應用程式