《OpenCV計算機視覺編程攻略(第2版)》結合C 和OpenCV講解計算機視覺編程,不僅涵蓋計算機視覺和圖像處理的基礎知識,而且通過完整示例講解OpenCV的重要類和函數。《OpenCV計算機視覺編程攻略(第2版)》主要內容包括OpenCV庫的安裝和部署、圖像增強、像素操作、圖形分析等各種技術,并且詳細介紹了如何處理來自文件或攝像機的視頻,以及如何檢測和跟蹤移動對象。
1. 50多個知識點的案例解讀,掌握基礎知識與進階內容
2. 學習OpenCV重要的圖像操作類和函數
3. 初學者和從業者即查即用的工具書
4. 掌握計算機視覺與圖像處理的基礎知識與概念
Robert Laganière
渥太華大學電氣工程與計算機科學學院教授,同時任教于學院成立的VIVA實驗室(主要研究圖像與視頻處理、計算機視覺、自治系統),還是基于云的家庭監控服務公司iWatchLife和嵌入式視覺解決方案行業引領者Cognivue公司的首席科學家。他與人共同發表過多篇科學論文,并獲得了基于內容的視頻分析、視覺監控、目標識別和三維重建等領域的多項專利。
2006年,他在渥太華與人共同創立了從事視頻分析的Visual Cortek公司(2009年被iWatchLife收購)。個人網站:www.laganiere.name。
第1 章 圖像編程入門 1
1.1 簡介 1
1.2 安裝OpenCV 庫 1
1.2.1 準備工作 1
1.2.2 安裝 2
1.2.3 實現原理 3
1.2.4 擴展閱讀 4
1.2.5 參閱 6
1.3 裝載、顯示和存儲圖像 6
1.3.1 準備工作 6
1.3.2 如何實現 6
1.3.3 實現原理 8
1.3.4 擴展閱讀 9
1.3.5 參閱 12
1.4 深入了解cv::Mat 12
1.4.1 如何實現 12
1.4.2 實現原理 14
1.4.3 擴展閱讀 16
1.4.4 參閱 17
1.5 定義興趣區域 18
1.5.1 準備工作 18
1.5.2 如何實現 18
1.5.3 實現原理 19
1.5.4 擴展閱讀 19
1.5.5 參閱 20
第2 章 操作像素 21
2.1 簡介 21
2.2 訪問像素值 22
2.2.1 準備工作 22
2.2.2 如何實現 22
2.2.3 實現原理 24
2.2.4 擴展閱讀 24
2.2.5 參閱 25
2.3 用指針掃描圖像 25
2.3.1 準備工作 25
2.3.2 如何實現 26
2.3.3 實現原理 27
2.3.4 擴展閱讀 28
2.3.5 參閱 31
2.4 用迭代器掃描圖像 31
2.4.1 準備工作 32
2.4.2 如何實現 32
2.4.3 實現原理 32
2.4.4 擴展閱讀 33
2.4.5 參閱 34
2.5 編寫高效的圖像掃描循環 34
2.5.1 如何實現 34
2.5.2 實現原理 34
2.5.3 擴展閱讀 36
2.5.4 參閱 36
2.6 掃描圖像并訪問相鄰像素 36
2.6.1 準備工作 36
2.6.2 如何實現 37
2.6.3 實現原理 38
2.6.4 擴展閱讀 39
2.6.5 參閱 39
2.7 實現簡單的圖像運算 40
2.7.1 準備工作 40
2.7.2 如何實現 40
2.7.3 實現原理 41
2.7.4 擴展閱讀 41
2.8 圖像重映射 42
2.8.1 如何實現 43
2.8.2 實現原理 43
2.8.3 參閱 44
第3 章 用類處理彩色圖像 45
3.1 簡介 45
3.2 在算法設計中使用策略模式 45
3.2.1 準備工作 46
3.2.2 如何實現 46
3.2.3 實現原理 47
3.2.4 擴展閱讀 50
3.2.5 參閱 52
3.3 用控制器設計模式實現功能模塊間
通信 52
3.3.1 準備工作 53
3.3.2 如何實現 53
3.3.3 實現原理 55
3.3.4 擴展閱讀 56
3.4 轉換顏色表示法 57
3.4.1 準備工作 57
3.4.2 如何實現 57
3.4.3 實現原理 58
3.4.4 參閱 59
3.5 用色調、飽和度、亮度表示顏色 59
3.5.1 如何實現 60
3.5.2 實現原理 61
3.5.3 擴展閱讀 63
第4 章 用直方圖統計像素 66
4.1 簡介 66
4.2 計算圖像直方圖 66
4.2.1 準備工作 67
4.2.2 如何實現 67
4.2.3 實現原理 71
4.2.4 擴展閱讀 71
4.2.5 參閱 73
4.3 利用查找表修改圖像外觀 73
4.3.1 如何實現 74
4.3.2 實現原理 74
4.3.3 擴展閱讀 75
4.3.4 參閱 77
4.4 直方圖均衡化 78
4.4.1 如何實現 78
4.4.2 實現原理 79
4.5 反向投影直方圖檢測特定圖像內容 79
4.5.1 如何實現 79
4.5.2 實現原理 81
4.5.3 擴展閱讀 81
4.5.4 參閱 84
4.6 均值平移算法查找目標 84
4.6.1如何實現 85
4.6.2 實現原理 87
4.6.3 參閱 88
4.7 比較直方圖搜索相似圖像 88
4.7.1 如何實現 88
4.7.2 實現原理 90
4.7.3 參閱 90
4.8 用積分圖像統計像素 91
4.8.1 如何實現 91
4.8.2 實現原理 92
4.8.3 擴展閱讀 93
4.8.4 參閱 99
第5 章 用形態學運算變換圖像 100
5.1 簡介 100
5.2 形態學濾波器腐蝕和膨脹圖像 100
5.2.1 準備工作 101
5.2.2 如何實現 101
5.2.3 實現原理 102
5.2.4 擴展閱讀 104
5.2.5 參閱 104
5.3 用形態學濾波器開啟和閉合圖像 104
5.3.1 如何實現 104
5.3.2 實現原理 105
5.3.3 參閱 106
5.4 用形態學濾波器檢測邊緣和角點 106
5.4.1 準備工作 106
5.4.2 如何實現 107
5.4.3 實現原理 109
5.4.4 參閱 110
5.5 用分水嶺算法實現圖像分割 110
5.5.1 如何實現 111
5.5.2 實現原理 114
5.5.3 擴展閱讀 115
5.5.4 參閱 116
5.6 用MSER 算法提取特征區域 116
5.6.1 如何實現 117
5.6.2 實現原理 118
5.6.3 參閱 121
5.7 用GrabCut 算法提取前景物體 121
5.7.1 如何實現 121
5.7.2 實現原理 123
5.7.3 參閱 124
第6 章 圖像濾波 125
6.1 簡介 125
6.2 低通濾波器 126
6.2.1 如何實現 126
6.2.2 實現原理 127
6.2.3 擴展閱讀 129
6.2.4 參閱 132
6.3 中值濾波器 133
6.3.1 如何實現133
6.3.2 實現原理 134
6.4 用定向濾波器檢測邊緣 134
6.4.1 如何實現 135
6.4.2 實現原理 137
6.4.3 擴展閱讀 139
6.4.4 參閱 141
6.5 計算拉普拉斯算子 141
6.5.1 如何實現 141
6.5.2 實現原理 143
6.5.3 擴展閱讀 145
6.5.4 參閱 146
第7 章 提取直線、輪廓和區域 147
7.1 簡介 147
7.2 用Canny 算子檢測圖像輪廓 147
7.2.1 如何實現 147
7.2.2 實現原理 148
7.2.3 參閱 150
7.3 用霍夫變換檢測直線 150
7.3.1 準備工作 150
7.3.2 如何實現 150
7.3.3 實現原理 154
7.3.4 擴展閱讀 157
7.3.5 參閱 158
7.4 點集的直線擬合 158
7.4.1 如何實現 159
7.4.2 實現原理 161
7.4.3 擴展閱讀 161
7.5 提取區域的輪廓 161
7.5.1 如何實現 162
7.5.2 實現原理 163
7.5.3 擴展閱讀 164
7.6 計算區域的形狀描述子 164
7.6.1 如何實現 165
7.6.2 實現原理 166
7.6.3 擴展閱讀 167
第8 章 檢測興趣點 169
8.1 簡介 169
8.2 檢測圖像中的角點 169
8.2.1 如何實現 170
8.2.2 實現原理 174
8.2.3 擴展閱讀 176
8.2.4 參閱 177
8.3 快速檢測特征 178
8.3.1 如何實現 178
8.3.2 實現原理 179
8.3.3 擴展閱讀 180
8.3.4 參閱 182
8.4 尺度不變特征的檢測 182
8.4.1 如何實現 183
8.4.2 實現原理 184
8.4.3 擴展閱讀 185
8.4.4 參閱186