Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA
Effective techniques for processing complex image data in real time using GPUs
Bhaumik Vaidya
- 380 páginas
- English
- ePUB (apto para móviles)
- Disponible en iOS y Android
Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA
Effective techniques for processing complex image data in real time using GPUs
Bhaumik Vaidya
Información del libro
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.
Preguntas frecuentes
Información
Getting Started with OpenCV with CUDA Support
- Introduction to image processing and computer vision
- Introduction to OpenCV with CUDA support
- Installation of OpenCV with CUDA support on Windows and Ubuntu
- Working with images using OpenCV
- Working with videos using OpenCV
- Arithmetic and logical operations on images
- Color-space conversions and image thresholding
- Performance comparison between CPU and GPU OpenCV programs
Technical requirements
http://bit.ly/2xF5cQV
Introduction to image processing and computer vision
Introduction to OpenCV
Parameter | OpenCV | MATLAB |
Program speed | Higher because it is developed using C/C++ | Lower than OpenCV |
Resources needed | OpenCV is a lightweight library so it consumes very little memory both in terms of hard disk and RAM. A normal OpenCV program will require less than 100MB RAM. | MATLAB is very bulky. The latest MATLAB version installation can consume more than 15 GB space on the hard disk and a large chunk of RAM (more than 1 GB) when it is in use. |
Portability | OpenCV can run on all operating systems that can run C language. | MATLAB can only run on Windows, Linux, and MAC. |
Cost | The use of OpenCV in commercial or academic applications is completely free. | MATLAB is a licensed software so you have to pay a large amount to use it in your academic or commercial applications. |
Ease of use | OpenCV is comparatively difficult to use as it has less documentation and difficult to remember syntax. It also does not have its own development environment. | MATLAB has its own integrated development environment with built-in help resources, which makes it easy for a new programmer to use. |