cta quote button

Best OpenCV Books that You Should Have on Your Bookshelf

Read More

How Much Does It Cost to Hire Web Developers in Ukraine?

Our pricing is completely transparent: you pay your engineers’ salaries and a flat monthly fee for our services. No hidden charges.

Read More

1. Android Application Programming with OpenCV 3 (2015)

Build Android apps to capture, manipulate, and track objects in 2D and 3D

About This Book

  • Capture and display real-time videos and still images
  • Manipulate image data using OpenCV and Apache Commons Math
  • A step-by-step guide to building Android and CV applications

Who This Book Is For

If you are a Java developer who is new to computer vision and would like to learn through application development, then this book is for you. You are expected to have a mobile device running Android 2.2 (Froyo) or greater, including a camera. Experience in Java is a must.

What You Will Learn

  • Install OpenCV and an Android development environment on Windows, Mac, or Linux
  • Control a camera and use its perspective in augmented reality
  • Share photos with other apps via Android’s MediaStore and Intent classes
  • Create GUIs and handle events using Android activities and OpenCV
  • Train an image recognizer that can locate famous paintings in a scene
  • Apply “curves” and other color transformations to simulate the look of old photos
  • Apply convolution filters that sharpen, blur, emboss, or darken the details of an image

In Detail

Android Application Programming with OpenCV 3 is a practical, hands-on guide to computer vision and mobile app development. It shows how to capture, manipulate, and analyze images while building an application that combines photography and augmented reality. To help the reader become a well-rounded developer, the book covers OpenCV (a computer vision library), Android SDK (a mobile app framework), OpenGL ES (a 3D graphics framework), and even JNI (a Java/C++ interoperability layer).

Now in its second edition, the book offers thoroughly reviewed code, instructions, and explanations. It is fully updated to support OpenCV 3 and Android 5, as well as earlier versions. Although it focuses on OpenCV’s Java bindings, this edition adds an extensive chapter on JNI and C++, so that the reader is well primed to use OpenCV in other environments.

Author(s): Joseph Howse

2. Computer Vision with OpenCV 3 and Qt5: Build visually appealing, multithreaded, cross-platform computer vision applications (2018)

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

Author(s): Amin Ahmadi Tazehkandi

3. OpenCV 3 Computer Vision Application Programming Cookbook – Third Edition (2017)

Recipes to help you build computer vision applications that make the most of the popular C++ library OpenCV 3 About This Book Written to the latest, gold-standard specification of OpenCV 3 Master OpenCV, the open source library of the computer vision community Master fundamental concepts in computer vision and image processing Learn about the important classes and functions of OpenCV with complete working examples applied to real images Who This Book Is For OpenCV 3 Computer Vision Application Programming Cookbook Third Edition is appropriate for novice C++ programmers who want to learn how to use the OpenCV library to build computer vision applications. It is also suitable for professional software developers who wish to be introduced to the concepts of computer vision programming. It can also be used as a companion book for university-level computer vision courses. It constitutes an excellent reference for graduate students and researchers in image processing and computer vision. What You Will Learn Install and create a program using the OpenCV library Process an image by manipulating its pixels Analyze an image using histograms Segment images into homogenous regions and extract meaningful objects Apply image filters to enhance image content Exploit the image geometry in order to relay different views of a pictured scene Calibrate the camera from different image observations Detect people and objects in images using machine learning techniques Reconstruct a 3D scene from images In Detail Making your applications see has never been easier with OpenCV. With it, you can teach your robot how to follow your cat, write a program to correctly identify the members of One Direction, or even help you find the right colors for your redecoration. OpenCV 3 Computer Vision Application Programming Cookbook Third Edition provides a complete introduction to the OpenCV library and explains how to build your first computer vision

Author(s): Robert Laganiere

4. Pro Processing for Images and Computer Vision with OpenCV: Solutions for Media Artists and Creative Coders (2017)

Tagline: Teaching your computer to see

Author(s): Bryan WC Chung

5. Mastering OpenCV Android Application Programming (2015)

Master the art of implementing computer vision algorithms on Android platforms to build robust and efficient applications

About This Book

  • Understand and utilise the features of OpenCV, Android SDK, and OpenGL
  • Detect and track specific objects in a video using Optical Flow and Lucas Kanade Tracker
  • An advanced guide full of real-world examples, helping you to build smart OpenCV Android applications

Who This Book Is For

If you are a Java and Android developer looking to enhance your skills by learning the latest features of OpenCV Android application programming, then this book is for you.

What You Will Learn

  • Understand image processing using OpenCV
  • Detect specific objects in an image or video using various state-of-the-art feature-matching algorithms such as SIFT, SURF, and ORB
  • Perform image transformations such as changing color, space, resizing, applying filters like Gaussian blur, and likes
  • Use mobile phone cameras to interact with the real world
  • Explore face detection, object detection, and image stitching in OpenCV Android programming
  • Build smarter applications by using machine learning algorithms
  • Learn to debug applications and create optimal custom algorithms by understanding how data is stored internally

In Detail

OpenCV is a famous computer vision library, used to analyze and transform copious amounts of image data, even in real time and on a mobile device.

This book focuses on leveraging mobile platforms to build interactive and useful applications. The book starts off with an introduction to OpenCV and Android and how they interact with each other using OpenCV’s Java API. You’ll also discover basic image processing techniques such as erosion and dilation of images, before walking through how to build more complex applications, such as object detection, image stitching, and face detection. As you progress, you will be introduced to OpenCV’s machine learning framework, enabling you to make your applications smarter.

The book ends with a short chapter covering useful Android tips and tricks and some common errors and solutions that people might face while building an application. By the end of the book, readers will have gained more expertise in building their own OpenCV projects for the Android platform and integrating OpenCV application programming into existing projects.

Author(s): Salil Kapur, Nisarg Thakkar

6. Learning OpenCV 3: Computer Vision in C++ with the OpenCV Library (2017)

Get started in the rapidly expanding field of computer vision with this practical guide. Written by Adrian Kaehler and Gary Bradski, creator of the open source OpenCV library, this book provides a thorough introduction for developers, academics, roboticists, and hobbyists. You’ll learn what it takes to build applications that enable computers to “see” and make decisions based on that data.

With over 500 functions that span many areas in vision, OpenCV is used for commercial applications such as security, medical imaging, pattern and face recognition, robotics, and factory product inspection. This book gives you a firm grounding in computer vision and OpenCV for building simple or sophisticated vision applications. Hands-on exercises in each chapter help you apply what you’ve learned.

This volume covers the entire library, in its modern C++ implementation, including machine learning tools for computer vision.

  • Learn OpenCV data types, array types, and array operations
  • Capture and store still and video images with HighGUI
  • Transform images to stretch, shrink, warp, remap, and repair
  • Explore pattern recognition, including face detection
  • Track objects and motion through the visual field
  • Reconstruct 3D images from stereo vision
  • Discover basic and advanced machine learning techniques in OpenCV

Author(s): Adrian Kaehler, Gary Bradski

7. OpenCV Android Programming By Example (2015)

Develop vision-aware and intelligent Android applications with the robust OpenCV library

About This Book

  • This is the most up-to-date book on OpenCV Android programming on the market at the moment. There is no direct competition for our title.
  • Based on a technology that is increasing in popularity, proven by activity in forums related to this topic.
  • This book uniquely covers applications such as the Panoramic viewer and Automatic Selfie, among others.

Who This Book Is For

If you are an Android developer and want to know how to implement vision-aware applications using OpenCV, then this book is definitely for you.

It would be very helpful if you understand the basics of image processing and computer vision, but no prior experience is required

What You Will Learn

  • Identify and install all the elements needed to start building vision-aware Android applications
  • Explore image representation, colored and gray scale
  • Recognize and apply convolution operations and filtering to deal with noisy data
  • Use different shape analysis techniques
  • Extract and identify interest points in an image
  • Understand and perform object detection
  • Run native computer vision algorithms and gain performance boosts

In Detail

Starting from the basics of computer vision and OpenCV, we’ll take you all the way to creating exciting applications. You will discover that, though computer vision is a challenging subject, the ideas and algorithms used are simple and intuitive, and you will appreciate the abstraction layer that OpenCV uses to do the heavy lifting for you. Packed with many examples, the book will help you understand the main data structures used within OpenCV, and how you can use them to gain performance boosts. Next we will discuss and use several image processing algorithms such as histogram equalization, filters, and color space conversion. You then will learn about image gradients and how they are used in many shape analysis techniques such as edge detection, Hough Line Transform, and Hough Circle Transform. In addition to using shape analysis to find things in images, you will learn how to describe objects in images in a more robust way using different feature detectors and descriptors.

By the end of this book, you will be able to make intelligent decisions using the famous Adaboost learning algorithm.

Style and approach

An easy-to-follow tutorial packed with hands-on examples. Each topic is explained and placed in context, and the book supplies full details of the concepts used for added proficiency.

Author(s): Amgad Muhammad

8. OpenCV Computer Vision Application Programming Cookbook, 2nd Edition (2014)

Over 50 recipes to help you build computer vision applications in C++ using the OpenCV library

About This Book

  • Master OpenCV, the open source library of the computer vision community
  • Master fundamental concepts in computer vision and image processing
  • Learn the important classes and functions of OpenCV with complete working examples applied on real images

Who This Book Is For

OpenCV 3 Computer Vision Application Programming Cookbook is appropriate for novice C++ programmers who want to learn how to use the OpenCV library to build computer vision applications. It is also suitable for professional software developers wishing to be introduced to the concepts of computer vision programming. It can also be used as a companion book in a university-level computer vision courses. It constitutes an excellent reference for graduate students and researchers in image processing and computer vision.

What You Will Learn

  • Install and create a program using the OpenCV library
  • Process an image by manipulating its pixels
  • Analyze an image using histograms
  • Segment images into homogenous regions and extract meaningful objects
  • Apply image filters to enhance image content
  • Exploit image geometry in order to relate different views of a pictured scene
  • Calibrate the camera from different image observations
  • Detect faces and people in images using machine learning techniques

In Detail

OpenCV Computer Vision Application Programming Cookbook Second Edition is your guide to the development of computer vision applications.

The book shows you how to install and deploy the OpenCV library to write an effective computer vision application. Different techniques for image enhancement, pixel manipulation, and shape analysis will be presented. You will also learn how to process video from files or cameras and detect and track moving objects. You will also be introduced to recent approaches in machine learning and object classification.

This book is a comprehensive reference guide that exposes you to practical and fundamental computer vision concepts, illustrated by extensive examples.

Author(s): Robert Laganiere

9. OpenCV: Computer Vision Projects with Python (2016)

Get savvy with OpenCV and actualize cool computer vision applications

About This Book

  • Use OpenCV’s Python bindings to capture video, manipulate images, and track objects
  • Learn about the different functions of OpenCV and their actual implementations.
  • Develop a series of intermediate to advanced projects using OpenCV and Python

Who This Book Is For

This learning path is for someone who has a working knowledge of Python and wants to try out OpenCV. This Learning Path will take you from a beginner to an expert in computer vision applications using OpenCV. OpenCV’s application are humongous and this Learning Path is the best resource to get yourself acquainted thoroughly with OpenCV.

What You Will Learn

  • Install OpenCV and related software such as Python, NumPy, SciPy, OpenNI, and SensorKinect – all on Windows, Mac or Ubuntu
  • Apply “curves” and other color transformations to simulate the look of old photos, movies, or video games
  • Apply geometric transformations to images, perform image filtering, and convert an image into a cartoon-like image
  • Recognize hand gestures in real time and perform hand-shape analysis based on the output of a Microsoft Kinect sensor
  • Reconstruct a 3D real-world scene from 2D camera motion and common camera reprojection techniques
  • Detect and recognize street signs using a cascade classifier and support vector machines (SVMs)
  • Identify emotional expressions in human faces using convolutional neural networks (CNNs) and SVMs
  • Strengthen your OpenCV2 skills and learn how to use new OpenCV3 features

In Detail

OpenCV is a state-of-art computer vision library that allows a great variety of image and video processing operations. OpenCV for Python enables us to run computer vision algorithms in real time. This learning path proposes to teach the following topics. First, we will learn how to get started with OpenCV and OpenCV3’s Python API, and develop a computer vision application that tracks body parts. Then, we will build amazing intermediate-level computer vision applications such as making an object disappear from an image, identifying different shapes, reconstructing a 3D map from images , and building an augmented reality application, Finally, we’ll move to more advanced projects such as hand gesture recognition, tracking visually salient objects, as well as recognizing traffic signs and emotions on faces using support vector machines and multi-layer perceptrons respectively.

This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products:

  • OpenCV Computer Vision with Python by Joseph Howse
  • OpenCV with Python By Example by Prateek Joshi
  • OpenCV with Python Blueprints by Michael Beyeler

Style and approach

This course aims to create a smooth learning path that will teach you how to get started with will learn how to get started with OpenCV and OpenCV 3’s Python API, and develop superb computer vision applications. Through this comprehensive course, you’ll learn to create computer vision applications from scratch to finish and more!.

Author(s): Joseph Howse, Prateek Joshi

10. OpenCV 2 Computer Vision Application Programming Cookbook (2011)

This is a cookbook that shows results obtained on real images with detailed explanations and the relevant screenshots. The recipes contain code accompanied with suitable explanations that will facilitate your learning. If you are a novice C++ programmer who wants to learn how to use the OpenCV library to build computer vision applications, then this cookbook is appropriate for you. It is also suitable for professional software developers wishing to be introduced to the concepts of computer vision programming. It can be used as a companion book in university-level computer vision courses. It constitutes an excellent reference for graduate students and researchers in image processing and computer vision. The book provides a good combination of basic to advanced recipes. Basic knowledge of C++ is required.

Author(s): Robert Laganière

11. Android Application Programming with OpenCV (2013)

Overview

  • Set up OpenCV and an Android development environment on Windows, Mac, or Linux
  • Capture and display real-time videos and still images
  • Manipulate image data using OpenCV and Apache Commons Math
  • Track objects and render 2D and 3D graphics on top of them
  • Create a photo-capture and photo-sharing app that supports a variety of filters with a real-time preview feature

In Detail

Take a smartphone from your pocket, and within a few seconds, you can snap a photo, manipulate it, and share it with the world. You have just achieved mass production of image data. With a computer vision library such as OpenCV, you can analyze and transform copious amounts of image data in real time on a mobile device. The upshot to this is that you, as developers, can provide mobile users with many new kinds of images, constantly highlighting certain visual features that are of artistic or practical interest. Android is a convenient platform for such experiments because it uses a high-level language (Java), it provides standardized interfaces for sharing image data between applications, and it is mostly open source, so everyone can study its implementation.

Android Application Programming with OpenCV is a practical, hands-on guide that covers the fundamental tasks of computer vision—capturing, filtering, and analyzing images-with step-by-step instructions for writing both an application and reusable library classes.

Android Application Programming with OpenCV looks at OpenCV’s Java bindings for Android and dispels mysteries such as which version of these bindings to use, how to integrate with standard Android functionality for layout, event handling, and data sharing, and how to integrate with OpenGL for rendering. By following the clear, concise, and modular examples provided in this book, you will develop an application that previews, captures, and shares photos with special effects based on color manipulation, edge detection, image tracking, and 3D rendering.Beneath the application layer, you will develop a small but extensible library that you can reuse in your future projects. This library will include filters for selectively modifying an image based on edge detection, 2D and 3D image trackers, and adapters to convert the Android system’s camera specifications into OpenCV and OpenGL projection matrices. If you want a quick start in computer vision for Android, then this is the book for you.

By the end of Android Application Programming with OpenCV, you will have developed a computer vision application that integrates OpenCV, Android SDK, and OpenGL.

What you will learn from this book

  • Install OpenCV and an Android development environment on Windows, Mac, or Linux
  • Capture, display, and save images
  • Make images accessible to other apps via Android’s MediaStore and Intent classes
  • Integrate OpenCV events and views with Android’s standard activity lifecycle and view hierarchy
  • Learn how OpenCV uses matrices to store data about images, recognizable features in images, and camera characteristics
  • Apply curves and other color transformations to simulate the look of old photos, movies, or video games
  • Apply convolution filters that sharpen, blur, emboss, or darken edges and textures in an image
  • Track real-world objects, especially printed images, in 2D and 3D space
  • Extract camera data from Android SDK and use it to construct OpenCV and OpenGL projection matrices
  • Render basic 3D graphics in OpenGL

Author(s): Joseph Howse

12. OpenCV Essentials (2014)

Acquire, process, and analyze visual content to build full-fledged imaging applications using OpenCV

About This Book

  • Create OpenCV programs with a rich user interface
  • Develop real-world imaging applications using free tools and libraries
  • Understand the intricate details of OpenCV and its implementation using easy-to-follow examples

Who This Book Is For

This book is intended for C++ developers who want to learn how to implement the main techniques of OpenCV and get started with it quickly. Working experience with computer vision / image processing is expected.

What You Will Learn

  • Explore advanced image processing techniques such as the retina algorithm, morphing, and color transfer
  • Create programs using advanced segmentation tools such as the new connectedComponents and connectedComponentsWithStats functions
  • Use flood filling along with the watershed transform to obtain better segmentations
  • Explore the new powerful KAZE features
  • Use advanced video-based background/foreground segmentation for class BackgroundSubtractor and ECC-based warping
  • Leverage the available object detection frameworks and the new scene text detection functionality
  • Get a grasp of advanced topics such as machine learning and GPU optimization

In Detail

OpenCV, arguably the most widely used computer vision library, includes hundreds of ready-to-use imaging and vision functions used in both academia and industry. It mainly focuses on real-time image processing. As cameras get cheaper and imaging features grow in demand, the range of applications using OpenCV increases significantly, both for desktop and mobile platforms.

The book provides an example-based tour of OpenCV’s main modules and algorithms, including the latest available in version 3.0. Starting with the setup and description of the library, this book teaches you how to add graphical user interface capabilities to OpenCV programs. Further, you will learn about the essential techniques such as image processing, image segmentation, object detection, and motion, which will help you process and analyze images better. You will also learn how to extract 2D features from images and how to take advantage of machine learning. By the end of this book, you will completely understand how to put those computer vision techniques into practice.

Author(s): Oscar Deniz Suarez, Mª del Milagro Fernandez Carrobles