展开全部

主编推荐语

手把手教你使用OpenCV和CUDA实现GPU加速的计算机视觉项目开发,快速掌握GPU实时处理复杂图像数据的高效技术。

内容简介

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

目录

  • 版权信息
  • 前言
  • 作者简介
  • 审稿人简介
  • 第1章 CUDA介绍及入门
  • 1.1 技术要求
  • 1.2 CUDA介绍
  • 1.2.1 并行处理
  • 1.2.2 GPU架构和CUDA介绍
  • 1.2.3 CUDA架构
  • 1.3 CUDA应用程序
  • 1.4 CUDA开发环境
  • 1.4.1 支持CUDA的GPU
  • 1.4.2 CUDA开发工具包
  • 1.5 在所有操作系统上安装CUDA工具包
  • 1.5.1 Windows
  • 1.5.2 Linux
  • 1.5.3 Mac
  • 1.6 一个基本的CUDA C程序
  • 1.6.1 在Windows上创建CUDA C程序的步骤
  • 1.6.2 在Ubuntu上创建CUDA C程序的步骤
  • 1.7 总结
  • 1.8 测验题
  • 第2章 使用CUDA C进行并行编程
  • 2.1 技术要求
  • 2.2 CUDA程序结构
  • 2.2.1 CUDA C中的双变量加法程序
  • 2.2.2 内核调用
  • 2.2.3 配置内核参数
  • 2.2.4 CUDA API函数
  • 2.2.5 将参数传递给CUDA函数
  • 2.3 在设备上执行线程
  • 2.4 在CUDA程序中获取GPU设备属性
  • 2.4.1 通用设备信息
  • 2.4.2 内存相关属性
  • 2.4.3 线程相关属性
  • 2.5 CUDA中的向量运算
  • 2.5.1 两个向量加法程序
  • 2.5.2 对比CPU代码和GPU代码的延迟
  • 2.5.3 对向量的每个元素进行平方
  • 2.6 并行通信模式
  • 2.6.1 映射
  • 2.6.2 收集
  • 2.6.3 分散式
  • 2.6.4 蒙板
  • 2.6.5 转置
  • 2.7 总结
  • 2.8 测验题
  • 第3章 线程、同步和存储器
  • 3.1 技术要求
  • 3.2 线程
  • 3.3 存储器架构
  • 3.3.1 全局内存
  • 3.3.2 本地内存和寄存器堆
  • 3.3.3 高速缓冲存储器
  • 3.4 线程同步
  • 3.4.1 共享内存
  • 3.4.2 原子操作
  • 3.5 常量内存
  • 3.6 纹理内存
  • 3.7 向量点乘和矩阵乘法实例
  • 3.7.1 向量点乘
  • 3.7.2 矩阵乘法
  • 3.8 总结
  • 3.9 测验题
  • 第4章 CUDA中的高级概念
  • 4.1 技术要求
  • 4.2 测量CUDA程序的性能
  • 4.2.1 CUDA事件
  • 4.2.2 NVIDIA Visual Profiler
  • 4.3 CUDA中的错误处理
  • 4.3.1 从代码中进行错误处理
  • 4.3.2 调试工具
  • 4.4 CUDA程序性能的提升
  • 4.4.1 使用适当的块数量和线程数量
  • 4.4.2 最大化数学运算效率
  • 4.4.3 使用合并的或跨步式的访存
  • 4.4.4 避免warp内分支
  • 4.4.5 使用锁定页面的内存
  • 4.5 CUDA流
  • 4.6 使用CUDA加速排序算法
  • 4.7 利用CUDA进行图像处理
  • 4.8 总结
  • 4.9 测验题
  • 第5章 支持CUDA的OpenCV入门
  • 5.1 技术要求
  • 5.2 图像处理和计算机视觉简介
  • 5.3 OpenCV简介
  • 5.4 安装支持CUDA的OpenCV
  • 5.4.1 在Windows上安装OpenCV
  • 5.4.2 在Linux上安装OpenCV
  • 5.5 使用OpenCV处理图像
  • 5.5.1 OpenCV中的图像表示
  • 5.5.2 图像的读取和显示
  • 5.5.3 使用OpenCV创建图像
  • 5.5.4 将图像保存到文件
  • 5.6 使用OpenCV处理视频
  • 5.6.1 处理存储在计算机上的视频
  • 5.6.2 处理从网络摄像机读取的视频
  • 5.6.3 将视频保存到磁盘
  • 5.7 使用OpenCV CUDA模块的基本计算机视觉应用程序
  • 5.7.1 OpenCV CUDA模块简介
  • 5.7.2 对图像的算术和逻辑运算
  • 5.7.3 更改图像的颜色空间
  • 5.7.4 图像阈值处理
  • 5.8 OpenCV应用程序使用和不使用CUDA支持的性能比较
  • 5.9 总结
  • 5.10 测验题
  • 第6章 使用OpenCV和CUDA进行基本的计算机视觉操作
  • 6.1 技术要求
  • 6.2 访问图像的各个像素强度
  • 6.3 OpenCV中直方图的计算和均衡
  • 6.4 图像的几何变换
  • 6.4.1 图像大小调整
  • 6.4.2 图像平移与旋转
  • 6.5 对图像进行滤波操作
  • 6.5.1 对图像的卷积运算
  • 6.5.2 对图像进行低通滤波操作
  • 6.5.3 对图像进行高通滤波操作
  • 6.6 图像的形态学操作
  • 6.7 总结
  • 6.8 测验题
  • 第7章 使用OpenCV和CUDA进行对象检测和跟踪
  • 7.1 技术要求
  • 7.2 对象检测和跟踪简介
  • 7.2.1 对象检测和跟踪的应用
  • 7.2.2 对象检测中的挑战
  • 7.3 基于颜色的对象检测和跟踪
  • 7.4 基于形状的对象检测和跟踪
  • 7.4.1 Canny边缘检测
  • 7.4.2 使用Hough变换进行直线检测
  • 7.4.3 对圆形进行检测
  • 7.5 关键点检测器和描述符
  • 7.5.1 加速段测试特征功能检测器
  • 7.5.2 面向FAST和旋转BRIEF的特征检测
  • 7.5.3 加速强特征检测和匹配
  • 7.6 使用Haar级联的对象检测
  • 7.6.1 使用Haar级联进行人脸检测
  • 7.6.2 使用Haar级联进行眼睛检测
  • 7.7 使用背景减法进行对象跟踪
  • 7.7.1 高斯混合法
  • 7.7.2 GMG背景减法
  • 7.8 总结
  • 7.9 测验题
  • 第8章 Jetson TX1开发套件
  • 8.1 技术要求
  • 8.2 Jetson TX1简介
  • 8.2.1 Jetson TX1的重要特性
  • 8.2.2 Jetson TX1的应用
  • 8.3 在Jetson TX1上安装JetPack
  • 8.3.1 安装的基本要求
  • 8.3.2 安装的步骤
  • 8.4 总结
  • 8.5 测验题
  • 第9章 在Jetson TX1上部署计算机视觉应用程序
  • 9.1 技术要求
  • 9.2 Jetson TX1 GPU的设备属性
  • 9.3 Jetson TX1上的基本CUDA程序
  • 9.4 Jetson TX1上的图像处理
  • 9.4.1 编译支持CUDA的OpenCV
  • 9.4.2 读取和显示图像
  • 9.4.3 图像合成
  • 9.4.4 图像阈值处理
  • 9.4.5 Jetson TX1上的图像滤波
  • 9.5 Jetson TX1的摄像机接口
  • 9.6 Jetson TX1上的高级应用程序
  • 9.6.1 使用Haar级联进行人脸检测
  • 9.6.2 使用Haar级联进行眼睛检测
  • 9.6.3 高斯混合背景减法
  • 9.7 在Jetson TX1上使用Python和OpenCV实现计算机视觉
  • 9.8 总结
  • 9.9 测验题
  • 第10章 PyCUDA入门
  • 10.1 技术要求
  • 10.2 Python编程语言简介
  • 10.3 PyCUDA模块简介
  • 10.4 在Windows上安装PyCUDA
  • 10.5 在Ubuntu上安装PyCUDA
  • 10.6 总结
  • 10.7 测验题
  • 第11章 使用PyCUDA
  • 11.1 技术要求
  • 11.2 编写第一个PyCUDA程序
  • 11.3 从PyCUDA程序访问GPU设备属性
  • 11.4 在PyCUDA中执行线程和块
  • 11.5 PyCUDA中的基本编程概念
  • 11.5.1 在PyCUDA中两个数字相加
  • 11.5.2 使用driver类简化加法程序
  • 11.6 使用CUDA事件测量PyCUDA程序的性能
  • 11.6.1 CUDA事件
  • 11.6.2 使用大型数组加法测量PyCUDA的性能
  • 11.7 PyCUDA中的复杂程序
  • 11.7.1 对PyCUDA中的矩阵元素进行平方运算
  • 11.7.2 GPU数组点乘
  • 11.7.3 矩阵乘法
  • 11.8 PyCUDA的高级内核函数
  • 11.8.1 PyCUDA的元素级内核函数
  • 11.8.2 归约内核函数
  • 11.8.3 scan内核函数
  • 11.9 总结
  • 11.10 测验题
  • 第12章 使用PyCUDA的基本计算机视觉应用程序
  • 12.1 技术要求
  • 12.2 PyCUDA中的直方图计算
  • 12.2.1 使用原子操作
  • 12.2.2 使用共享内存
  • 12.3 使用PyCUDA进行基本的计算机视觉操作
  • 12.3.1 PyCUDA中的颜色空间转换
  • 12.3.2 在PyCUDA执行图像合成
  • 12.3.3 在PyCUDA中使用gpuarray进行图像反转
  • 12.4 总结
  • 12.5 测验题
  • 测验题答案
展开全部

评分及书评

3.7
3个评分
  • 用户头像
    给这本书评了
    5.0
    CUDA入门优质书籍

    介绍详细,基础,难得的又系统,又基础,又清晰的介绍 CUDA 编程的好书。

      转发
      评论

    出版方

    机械工业出版社有限公司

    机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。