计算机视觉用显卡,基于GPU加速的计算机视觉编程:使用OpenCV和CUDA实时处理复杂图像数据...

本书是OpenCV开发人员的推荐阅读指南,手把手教你使用OpenCV和CUDA实现GPU加速的计算机视觉项目开发,帮你快速掌握利用GPU实时处理复杂图像数据的高效技术。全书共11章,章介绍CUDA架构及应用;第2章介绍如何使用CUDA为GPU编写程序;第3章介绍如何从CUDA程序中调用线程,以及多个线程如何相互通信;第4章介绍CUDA streams和CUDA events等不错概念;第5章介绍在所有操作系统中安装支持CUDA的OpenCV库;第6章讲解如何使用OpenCV编写基本的计算机视觉操作,如像素级的图像操作、过滤和形态学操作;第7章介绍使用OpenCV和CUDA加速一些实际计算机视觉应用程序的步骤;第8章介绍如何在Jetson Tx1嵌入式平台上安装OpenCV;第9章介绍如何在Jetson TX1上部署计算机视觉应用程序 ;0章介绍PyCUDA;1章讲解如何使用PyCUDA编写程序。

本书提供了OpenCV与CUDA集成以实现实际应用的详细概述。首先介绍使用CUDA进行GPU编程的基础知识。然后,通过一些实际的例子讲解如何利用GPU和CUDA实现OpenCV加速。一旦掌握了核心概念,读者将熟悉如何在NVIDIA Jetson TX1上部署OpenCV应用程序,该应用程序在计算机视觉和深度学习应用程序中很好流行。本书的*后几章解释了PyCUDA,这是一个Python库,它利用CUDA和GPU的强大功能来加速。在本书的*后,读者将通过本书的实践方法增强计算机视觉应用程序。

包米克·维迪雅(Bhaumik Vaidya)是一位经验丰富的计算机视觉工程师和导师。他在OpenCV库,尤其是解决觉计算机视觉问题方面做了大量工作。他是大学硕士项目的品牌得主,目前正在攻读计算机视觉算法加速方面的博士学位。他指导了许多计算机视觉和超大规模集成(VLSI)方面的项目。他曾在VLSI领域做过ASIC验证工程师,对硬件架构也有很好的了解。他在声誉良好的期刊上发表了许多研究论文。他和他的博士导师还获得了英伟达Jetson TX1嵌入式开发平台的研究资助。

前言作者简介审稿人简介章  CUDA介绍及入门 11.1  技术要求 11.2  CUDA介绍 11.2.1  并行处理 21.2.2  GPU架构和CUDA介绍 21.2.3  CUDA架构 31.3  CUDA应用程序 41.4  CUDA开发环境 51.4.1  支持CUDA的GPU 51.4.2  CUDA开发工具包 61.5  在所有操作系统上安装CUDA工具包 61.5.1  Windows 61.5.2  Linux 71.5.3  Mac 81.6  一个基本的CUDA C程序 91.6.1  在Windows上创建CUDA C程序的步骤 101.6.2  在Ubuntu上创建CUDA C程序的步骤 101.7  总结 111.8  测验题 11第2章  使用CUDA C进行并行编程 122.1  技术要求 122.2  CUDA程序结构 132.2.1  CUDA C中的双变量加法程序 132.2.2  内核调用 142.2.3  配置内核参数 152.2.4  CUDA API函数 162.2.5  将参数传递给CUDA函数 172.3  在设备上执行线程 192.4  在CUDA程序中获取GPU设备属性 202.4.1  通用设备信息 212.4.2  内存相关属性 222.4.3  线程相关属性 222.5  CUDA中的向量运算 242.5.1  两个向量加法程序 242.5.2  对比CPU代码和GPU代码的延迟 272.5.3  对向量的每个元素进行平方 282.6  并行通信模式 292.6.1  映射 292.6.2  收集 292.6.3  分散式 302.6.4  蒙板 302.6.5  转置 302.7  总结 302.8  测验题 31第3章  线程、同步和存储器 323.1  技术要求 323.2  线程 333.3  存储器架构 363.3.1  全局内存 373.3.2  本地内存和寄存器堆 383.3.3  高速缓冲存储器 393.4  线程同步 393.4.1  共享内存 393.4.2  原子操作 423.5  常量内存 463.6  纹理内存 483.7  向量点乘和矩阵乘法实例 503.7.1  向量点乘 503.7.2  矩阵乘法 543.8  总结 583.9  测验题 58第4章  CUDA中的不错概念 604.1  技术要求 604.2  测量CUDA程序的性能 614.2.1  CUDA事件 614.2.2  NVIDIA Visual Profiler 634.3  CUDA中的错误处理 644.3.1  从代码中进行错误处理 654.3.2  调试工具 664.4  CUDA程序性能的提升 664.4.1  使用适当的块数量和线程数量 664.4.2  优选化数学运算效率 674.4.3  使用合并的或跨步式的访存 674.4.4  避免warp内分支 674.4.5  使用锁定页面的内存 684.5  CUDA流 694.6  使用CUDA加速排序算法 734.7  利用CUDA进行图像处理 754.8  总结 804.9  测验题 81第5章  支持CUDA的OpenCV入门 825.1  技术要求 825.2  图像处理和计算机视觉简介 835.3  OpenCV简介 835.4  安装支持CUDA的OpenCV 845.4.1  在Windows上安装OpenCV 845.4.2  在Linux上安装OpenCV 895.5  使用OpenCV处理图像 925.5.1  OpenCV中的图像表示 925.5.2  图像的读取和显示 935.5.3  使用OpenCV创建图像 965.5.4  将图像保存到文件 995.6  使用OpenCV处理视频 995.6.1  处理存储在计算机上的视频 1005.6.2  处理从网络摄像机读取的视频 1015.6.3  将视频保存到磁盘 1025.7  使用OpenCV CUDA模块的基本计算机视觉应用程序 1045.7.1  OpenCV CUDA模块简介 1045.7.2  对图像的算术和逻辑运算 1045.7.3  更改图像的颜色空间 1085.7.4  图像阈值处理 1095.8  OpenCV应用程序使用和不使用CUDA支持的性能比较 1105.9  总结 1135.10  测验题 114第6章  使用OpenCV和CUDA进行基本的计算机视觉操作 1156.1  技术要求 1156.2  访问图像的各个像素强度 1166.3  OpenCV中直方图的计算和均衡 1176.4  图像的几何变换 1206.4.1  图像大小调整 1206.4.2  图像平移与旋转 1216.5  对图像进行滤波操作 1226.5.1  对图像的卷积运算 1226.5.2  对图像进行低通滤波操作 1236.5.3  对图像进行高通滤波操作 1286.6  图像的形态学操作 1316.7  总结 1346.8  测验题 134第7章  使用OpenCV和CUDA进行对象检测和跟踪 1357.1  技术要求 1357.2  对象检测和跟踪简介 1367.2.1  对象检测和跟踪的应用 1367.2.2  对象检测中的挑战 1367.3  基于颜色的对象检测和跟踪 1367.4  基于形状的对象检测和跟踪 1397.4.1  Canny边缘检测 1397.4.2  使用Hough变换进行直线检测 1407.4.3  对圆形进行检测 1437.5  关键点检测器和描述符 1447.5.1  加速段测试特征功能检测器 1447.5.2  面向FAST和旋转BRIEF的特征检测 1457.5.3  加速强特征检测和匹配 1477.6  使用Haar级联的对象检测 1507.6.1  使用Haar级联进行人脸检测 1517.6.2  使用Haar级联进行眼睛检测 1537.7  使用背景减法进行对象跟踪 1557.7.1  高斯混合法 1557.7.2  GMG背景减法 1577.8  总结 1597.9  测验题 160第8章  Jetson TX1开发套件 1618.1  技术要求 1618.2  Jetson TX1简介 1618.2.1  Jetson TX1的重要特性 1638.2.2  Jetson TX1的应用 1638.3  在Jetson TX1上安装JetPack 1638.3.1  安装的基本要求 1648.3.2  安装的步骤 1648.4  总结 1718.5  测验题 171第9章  在Jetson TX1上部署计算机视觉应用程序 1729.1  技术要求 1729.2  Jetson TX1 GPU的设备属性 1739.3  Jetson TX1上的基本CUDA程序 1749.4  Jetson TX1上的图像处理 1769.4.1  编译支持CUDA的OpenCV 1769.4.2  读取和显示图像 1789.4.3  图像合成 1789.4.4  图像阈值处理 1809.4.5  Jetson TX1上的图像滤波 1829.5  Jetson TX1的摄像机接口 1849.6  Jetson TX1上的不错应用程序 1859.6.1  使用Haar级联进行人脸检测 1859.6.2  使用Haar级联进行眼睛检测 1879.6.3  高斯混合背景减法 1889.7  在Jetson TX1上使用Python和OpenCV实现计算机视觉 1919.8  总结 1929.9  测验题 1930章  PyCUDA入门 19410.1  技术要求 19410.2  Python编程语言简介 19410.3  PyCUDA模块简介 19510.4  在Windows上安装PyCUDA 19610.5  在Ubuntu上安装PyCUDA 19910.6  总结 20110.7  测验题 2011章  使用PyCUDA 20211.1  技术要求 20211.2  编写个PyCUDA程序 20311.3  从PyCUDA程序访问GPU设备属性 20411.4  在PyCUDA中执行线程和块 20611.5  PyCUDA中的基本编程概念 20611.5.1  在PyCUDA中两个数字相加 20711.5.2  使用driver类简化加法程序 20811.6  使用CUDA事件测量PyCUDA程序的性能 20911.6.1  CUDA事件 20911.6.2  使用大型数组加法测量PyCUDA的性能 21011.7  PyCUDA中的复杂程序 21211.7.1  对PyCUDA中的矩阵元素进行平方运算 21211.7.2  GPU数组点乘 21511.7.3  矩阵乘法 21711.8  PyCUDA的不错内核函数 21911.8.1  PyCUDA的元素级内核函数 21911.8.2  归约内核函数 22011.8.3  scan内核函数 22111.9  总结 22211.10  测验题 2232章  使用PyCUDA的基本计算机视觉应用程序 22412.1  技术要求 22412.2  PyCUDA中的直方图计算 22412.2.1  使用原子操作 22512.2.2  使用共享内存 22712.3  使用PyCUDA进行基本的计算机视觉操作 22912.3.1  PyCUDA中的颜色空间转换 23012.3.2  在PyCUDA执行图像合成 23312.3.3  在PyCUDA中使用gpuarray进行图像反转 23412.4  总结 23512.5  测验题 235测验题答案 236

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值