Book Image

Computer Vision with OpenCV 3 and Qt5

By : Amin Ahmadi Tazehkandi
4 (1)
Book Image

Computer Vision with OpenCV 3 and Qt5

4 (1)
By: Amin Ahmadi Tazehkandi

Overview of this book

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, and how 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.
Table of Contents (19 chapters)
Title Page
Dedication
Packt Upsell
Foreword
Contributors
Preface

Image filtering


In this starting section, you will learn about linear and non-linear image filtering methods available in OpenCV. It's important to note that all of the functions discussed in this section take a Mat image as an input and produce a Mat image of the same size and the same number of channels. In fact, the filters are applied to each channel independently. In general, filtering methods take a pixel and its pixels from the input image and calculate the value of the corresponding pixel in the resulting image based on a function response from those pixels.

This usually requires an assumption to be made about the pixels that do not exist, while calculating the filtered pixel result. OpenCV provides a number of methods to overcome this issue, and they can be specified in almost all of the OpenCV functions that need to deal with this phenomenon using the cv::BorderTypes enum. We will see how it is used in our first example in this chapter a bit later, but, before that, let's make...