Book Image

Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA

By : Bhaumik Vaidya
Book Image

Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA

By: Bhaumik Vaidya

Overview of this book

Computer vision has been revolutionizing a wide range of industries, and OpenCV is the most widely chosen tool for computer vision with its ability to work in multiple programming languages. Nowadays, in computer vision, there is a need to process large images in real time, which is difficult to handle for OpenCV on its own. This is where CUDA comes into the picture, allowing OpenCV to leverage powerful NVDIA GPUs. This book provides a detailed overview of integrating OpenCV with CUDA for practical applications. To start with, you’ll understand GPU programming with CUDA, an essential aspect for computer vision developers who have never worked with GPUs. You’ll then move on to exploring OpenCV acceleration with GPUs and CUDA by walking through some practical examples. Once you have got to grips with the core concepts, you’ll familiarize yourself with deploying OpenCV applications on NVIDIA Jetson TX1, which is popular for computer vision and deep learning applications. The last chapters of the book explain PyCUDA, a Python library that leverages the power of CUDA and GPUs for accelerations and can be used by computer vision developers who use OpenCV with Python. By the end of this book, you’ll have enhanced computer vision applications with the help of this book's hands-on approach.
Table of Contents (15 chapters)

Introduction to Python programming language

Python is continuously gaining popularity as it can be used in many fields with a wide range of applications. It is a high-level programming language that helps in expressing complex systems with a few lines of code. The Python syntax is easy to learn and more readable than other languages such as C++ and Java, which makes it easy to learn for novice programmers.

Python is a lightweight scripting language that can be easily used in embedded applications. Moreover, it is an interpreted language that requires an interpreter rather than a compiler, as is case for other programming languages. This allows the programmer to execute code line by line. It requires a Python interpreter that can be easily installed on all operating systems. Since Python is open source, a large community chooses to work with it. They have developed a wide range...