Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA: Effective techniques for processing complex image data in real time using GPUs
內容描述
Discover how CUDA allows OpenCV to handle complex and rapidly growing image data processing in computer and machine vision by accessing the power of GPU Key Features Explore examples to leverage the GPU processing power with OpenCV and CUDA Enhance the performance of algorithms on embedded hardware platforms Discover C++ and Python libraries for GPU acceleration Book Description 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. What you will learn Understand how to access GPU device properties and capabilities from CUDA programs Learn how to accelerate searching and sorting algorithms Detect shapes such as lines and circles in images Explore object tracking and detection with algorithms Process videos using different video analysis techniques in Jetson TX1 Access GPU device properties from the PyCUDA program Understand how kernel execution works Who this book is for This book is a go-to guide for you if you are a developer working with OpenCV and want to learn how to process more complex image data by exploiting GPU processing. A thorough understanding of computer vision concepts and programming languages such as C++ or Python is expected.Table of Contents Introduction to CUDA and Getting Started with CUDA Parallel programming using CUDA C Threads,Synchronization and Memory Advanced concepts in CUDA Getting started with OpenCV with CUDA support Basic computer vision Operations using OpenCV and CUDA Object detection and tracking using OpenCV and CUDA Introduction to Jetson Tx1 development board and installing OpenCV on Jetson TX1 Deploying computer vision applications on Jetson TX1 Getting started with PyCUDA Working with PyCUDA Basic Computer vision application using PyCUDA