Book Image

Learn OpenCV 4 By Building Projects - Second Edition

By : David Millán Escrivá, Vinícius G. Mendonça, Prateek Joshi
Book Image

Learn OpenCV 4 By Building Projects - Second Edition

By: David Millán Escrivá, Vinícius G. Mendonça, Prateek Joshi

Overview of this book

OpenCV is one of the best open source libraries available, and can help you focus on constructing complete projects on image processing, motion detection, and image segmentation. Whether you’re completely new to computer vision, or have a basic understanding of its concepts, Learn OpenCV 4 by Building Projects – Second edition will be your guide to understanding OpenCV concepts and algorithms through real-world examples and projects. You’ll begin with the installation of OpenCV and the basics of image processing. Then, you’ll cover user interfaces and get deeper into image processing. As you progress through the book, you'll learn complex computer vision algorithms and explore machine learning and face detection. The book then guides you in creating optical flow video analysis and background subtraction in complex scenes. In the concluding chapters, you'll also learn about text segmentation and recognition and understand the basics of the new and improved deep learning module. By the end of this book, you'll be familiar with the basics of Open CV, such as matrix operations, filters, and histograms, and you'll have mastered commonly used computer vision techniques to build OpenCV projects from scratch.
Table of Contents (14 chapters)

Deep learning in OpenCV

The deep learning module was introduced to OpenCV in version 3.1 as a contribute module. This was moved to part of OpenCV in 3.3, but it was not widely adopted by developers until versions 3.4.3 and 4.

OpenCV implements deep learning only for inference, which means that you cannot create your own deep learning architecture and train in OpenCV; you can only import a pre-trained model, execute it under OpenCV library, and use it as feedforward (inference) to obtain the results.

The most important reason to implement the feedforward method is to optimize OpenCV to speed up computing time and performance in inference. Another reason to not implement backward methods is to avoid wasting time developing something that other libraries, such as TensorFlow or Caffe, are specialized in. OpenCV then created importers for the most important deep learning libraries...