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)

Creating a library

CMake allows us to create libraries used by the OpenCV build system. Factorizing shared code among multiple applications is a common and useful practice in software development. In big applications, or common code shared in multiple applications, this practice is very useful. In this case, we do not create a binary executable, but instead we create a compiled file that includes all the functions, classes, and so on. We can then share this library file with other applications without sharing our source code.

CMake includes the add_library function to this end:

# Create our hello library 
    add_library(Hello hello.cpp hello.h) 
 
# Create our application that uses our new library 
    add_executable(executable main.cpp) 
 
# Link our executable with the new library 
    target_link_libraries(executable Hello) 

The lines starting with # add comments and are ignored...