【缺書】NT售價: 395 元
了OpenCV與CUDA集成以實現實際應用的詳細概述。首先介紹使用CUDA進行GPU編程的基礎知識。然后,通過一些實際的例子講解如何利用GPU和CUDA實現OpenCV加速。一旦掌握了核心概念,讀者將熟悉如何在NVIDIA Jetson TX1上部署OpenCV應用程序,該應用程序在計算機視覺和深度學習應用程序中非常流行。本書的*后幾章解釋了PyCUDA,這是一個Python庫,它利用CUDA和GPU的強大功能來加速。在本書的*后,讀者將通過本書的實踐方法增強計算機視覺應用程序。
前言作者簡介審稿人簡介第1章 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 測驗題 193**0章 PyCUDA入門 19410.1 技術要求 19410.2 Python編程語言簡介 19410.3 PyCUDA模塊簡介 19510.4 在Windows上安裝PyCUDA 19610.5 在Ubuntu上安裝PyCUDA 19910.6 總結 20110.7 測驗題 201**1章 使用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 測驗題 223**2章 使用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