Hands-On GPU-Accelerated Computer Vision with OpenCV and CUDA 2018学习笔记(0)——前言

3 篇文章 0 订阅

前言

计算机视觉正在彻底改变各种行业,OpenCV是使用最广泛的计算机视觉工具,能够使用多种编程语言。如今,需要在计算机视觉中实时处理大图像,这对于OpenCV本身很难处理。在这个问题上图形处理单元(GPU)和CUDA可以提供帮助。因此,本书提供了有关将OpenCV与CUDA集成到实际应用中的详细概述。首先介绍使用CUDA编程GPU,这对于从未使用过GPU的计算机视觉开发人员来说非常重要。然后通过一些实际的例子解释了GPU和CUDA的OpenCV加速。当计算机视觉应用程序要在现实生活场景中使用时,它需要部署在嵌入式开发板上。本书介绍了在NVIDIA Jetson Tx1上部署OpenCV应用程序,这在计算机视觉和深度学习应用程序中非常流行。本书的最后一部分介绍了PyCUDA的概念,可供使用OpenCV和Python的计算机视觉开发人员使用。 PyCUDA是一个python库,它利用CUDA和GPU的强大功能来加速。本书为使用C ++或Python中的OpenCV的开发人员提供了一个完整的指南,通过实施方法加速他们的计算机视觉应用程序。

本书面向的对象

本书是希望学习如何利用GPU处理来处理更复杂的图像数据的OpenCV开发人员的首选指南。大多数计算机视觉工程师或开发人员在尝试实时处理复杂图像数据时都会遇到问题。使用GPU加速计算机视觉算法将有助于他们开发可以实时处理复杂图像数据的算法。大多数人认为硬件加速只能通过FPGA和ASIC设计来完成,为此,他们需要知识硬件描述语言,如Verilog或VHDL。然而,在CUDA发明之前的确是这样的,CUDA利用了Nvidia GPU的强大功能,并且可以通过使用C ++和Python等编程语言来加速算法。本书将通过帮助开发人员开发实际应用程序来帮助他们学习相关的概念。本书将帮助开发人员在嵌入式平台(如Nvidia Jetson TX1)上部署计算机视觉应用程序。

本书主要内容

第1章,CUDA简介和CUDA入门,介绍了CUDA体系结构以及它如何重新定义GPU的并行处理功能。 讨论了CUDA架构在现实场景中的应用。 介绍了用于CUDA的开发环境以及如何在所有操作系统上安装它。

第2章,并行编程使用CUDA C,教会读者使用CUDA为GPU编写程序。 它从一个简单的Hello World程序开始,然后逐步构建到CUDA C中的复杂示例。它还介绍了内核的工作原理以及如何使用设备属性,并讨论了与CUDA编程相关的术语。

第3章,线程,同步和内存,向读者讲授如何从CUDA程序调用线程以及多个线程如何相互通信。 它描述了多个线程并行工作时如何同步。 它还详细描述了常量内存和纹理内存。

第4章,CUDA中的高级概念,涵盖了CUDA流和CUDA事件等高级概念。 它描述了如何使用CUDA加速排序算法,并着眼于使用CUDA加速简单的图像处理功能。

第5章,带有CUDA支持的OpenCV入门,介绍了在所有操作系统中安装支持CUDA的OpenCV库。 它解释了如何使用简单的程序测试此安装。 本章探讨了在有和没有CUDA支持的情况下执行的图像处理程序之间的性能比较。

第6章,基本计算机视觉操作使用OpenCV和CUDA,教会读者如何使用OpenCV编写基本的计算机视觉操作,如图像上的像素级操作,过滤和形态操作。

第7章,使用OpenCV和CUDA进行对象检测和跟踪,了解使用OpenCV和CUDA加速一些真实计算机视觉应用程序的步骤
。 它描述了用于对象检测的特征检测和描述算法。 本章还介绍了使用Haar级联和视频分析技术加速人脸检测,例如用于对象跟踪的背景减法。

第8章,Jetson Tx1开发板简介和在Jetson TX1上安装OpenCV,介绍了Jetson TX1嵌入式平台及其如何用于加速和部署计算机视觉应用程序。 它描述了使用Jetpack在Jetson TX1上安装OpenCV for Tegra。

第9章,在Jetson TX1上部署计算机视觉应用程序,包括在Jetson Tx1上部署计算机视觉应用程序。 它教会读者如何构建不同的计算机视觉应用程序以及如何将相机与Jetson Tx1连接以用于视频处理应用程序。

第10章,PyCUDA入门,介绍了PyCUDA,它是一个用于GPU加速的Python库。 它描述了所有操作系统上的安装过程。

第11章,使用PyCUDA,教会读者如何使用PyCUDA编写程序。 它详细描述了从主机到设备和内核执行的数据传输概念。 它介绍了如何在PyCUDA中使用数组并开发复杂的算法。

第12章,使用PyCUDA的基本计算机视觉应用程序,介绍使用PyCUDA开发和加速基本计算机视觉应用程序。 它描述了颜色空间转换操作,直方图计算和不同的算术运算,作为计算机视觉应用的例子。

充分利用本书

本书中介绍的示例可以在Windows,Linux和macOS上运行。 书中介绍了所有安装说明。 需要全面了解计算机视觉概念和编程语言,如C ++和Python。 读者最好使用Nvidia GPU硬件来执行本书中介绍的示例。

下载示例代码

可以通过www. packt.com的账户下载本书相关代码,如果你是在其他地方购买的本书,可以访问www.packt.com/support来注册,代码文件将通过邮件直接发给你。

您可以按照以下步骤下载代码文件:

  1. 登录或注册www.packt.com。
  2. 选择“支持”选项卡。
  3. 单击Code Downloads&Errata。
  4. 在“搜索”框中输入图书的名称,然后按照屏幕上的说明进行操作。

下载文件后,请确保使用以下软件的最新版本来解压或提取文件夹:

  • WinRAR/7-Zip for Windows

  • Zipeg/iZip/UnRarX for Mac

  • 7-Zip/PeaZip for Linux

​​​​​​​本书的代码包同时托管在Github上https://github.com/PacktP ublishing/Hands-On-GPU-Accelerated-Computer-Vision-with-OpenCV-and-CUDA,如果代码有更新,它将在现有的GitHub存储库上更新。

我们还提供了其他书籍和视频中的代码包,网址为https://github.com/PacktPublishing/。 去看一下!

下载彩色插图

我们还提供了一个PDF文件,其中包含本书中使用的屏幕截图/图表的彩色图像。 您可以在此处下载:https://www.packtpub.com/sites/default/f iles / downloads / 978-1-78934-829-3_ColorImages.pdf

运行代码

请访问以下链接,查看正在运行的代码的视频:http://bit.ly/2PZOYcH.​​​​​​​

Hands-On Computer Vision with Julia: Build complex applications with advanced Julia packages for image processing, neural networks, and Artificial Intelligence Explore the various packages in Julia that support image processing and build neural networks for video processing and object tracking. Key Features Build a full-fledged image processing application using JuliaImages Perform basic to advanced image and video stream processing with Julia's APIs Understand and optimize various features of OpenCV with easy examples Book Description Hands-On Computer Vision with Julia is a thorough guide for developers who want to get started with building computer vision applications using Julia. Julia is well suited to image processing because it's easy to use and lets you write easy-to-compile and efficient machine code. This book begins by introducing you to Julia's image processing libraries such as Images.jl and ImageCore.jl. You'll get to grips with analyzing and transforming images using JuliaImages; some of the techniques discussed include enhancing and adjusting images. As you make your way through the chapters, you'll learn how to classify images, cluster them, and apply neural networks to solve computer vision problems. In the concluding chapters, you will explore OpenCV applications to perform real-time computer vision analysis, for example, face detection and object tracking. You will also understand Julia's interaction with Tesseract to perform optical character recognition and build an application that brings together all the techniques we introduced previously to consolidate the concepts learned. By end of the book, you will have understood how to utilize various Julia packages and a few open source libraries such as Tesseract and OpenCV to solve computer vision problems with ease. What you will learn Analyze image metadata and identify critical data using JuliaImages Apply filters and improve image quality and color schemes Extract 2D features for image com
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值