內容提要
OpenCV是英特爾(Intel)公司發起的一個開源套用平台,藉助該平台能夠開發高效的計算機視覺套用項目。《OpenCV編程案例詳解》以實例介紹了如何使用OpenCV構建計算機視覺系統,《OpenCV編程案例詳解》的系統主要包括常用函式介紹類系統和套用類系統兩類。常用函式介紹類系統以介紹函式的使用為主。在這類系統中主要介紹了常用OpenCV函式的使用方法,並對這些函式進行了不同形式的參數調用。套用類系統嘗試解決一些實際問題,用最簡單的方法實現一個學習系統,讓讀者能夠了解該類系統的主要算法、解決問題的基本思路,同時能夠更深入地了解如何更好地使用OpenCV處理實際問題。《OpenCV編程案例詳解》各章的內容相對獨立,因此不需要按照順序從第1章開始閱讀,讀者可以自由選擇自己感興趣的內容來學習。《OpenCV編程案例詳解》中的全部系統均以當前的最新版本OpenCV 3.0版本進行介紹。《OpenCV編程案例詳解》在處理問題時,儘量禁止了無關的細節,即將OpenCV作為一個黑盒來使用。
《OpenCV編程案例詳解》提供的教學系統能夠讓讀者快速掌握計算機視覺的相關知識,儘快掌握圖像處理的相關算法和系統構建,讓圖像處理的零基礎入門開發者能夠儘快成為一名從業人員。《OpenCV編程案例詳解》提供的學習系統均含有詳細的注釋,讀者能夠在具有一定C++開發基礎、圖像處理零基礎的情況下完全自主地進行自學。《OpenCV編程案例詳解》能夠為在校學生、教師、入門者、專業人員、愛好者等不同身份的讀者提供參考。
目錄
第1章 圖像處理系統1
1.1 系統介紹2
1.1.1 功能描述2
1.1.2 總體結構2
1.1.3 界面效果2
1.2 系統原理3
1.2.1 翻轉3
1.2.2 形態學處理4
1.2.3 濾波處理7
1.2.4 縮放12
1.2.5 旋轉14
1.3 編程實現15
1.3.1 檔案15
1.3.2 翻轉的實現16
1.3.3 形態學處理的實現18
1.3.4 濾波處理的實現24
1.3.5 縮放的實現30
1.3.6 旋轉的實現32
1.3.7 幫助37
第2章 醫學圖像處理算法學習系統38
2.1 系統介紹39
2.1.1 功能描述39
2.1.2 系統結構39
2.1.3 界面效果39
2.2 系統原理40
2.2.1 增強40
2.2.2 卷積41
2.2.3 模板匹配43
2.2.4 仿射變換45
2.2.5 重映射46
2.2.6 分割47
2.3 編程實現51
2.3.1 檔案51
2.3.2 增強的實現51
2.3.3 卷積的實現55
2.3.4 模板匹配的實現60
2.3.5 仿射變換的實現67
2.3.6 重映射的實現70
2.3.7 分割的實現76
2.3.8 幫助97
第3章 圖像邊緣檢測學習系統98
3.1 系統介紹99
3.1.1 功能描述99
3.1.2 總體結構99
3.1.3 界面效果99
3.2 系統原理99
3.2.1 Sobel運算元100
3.2.2 Canny運算元102
3.2.3 Laplacian運算元104
3.2.4 Scharr濾波器105
3.3 編程實現106
3.3.1 檔案106
3.3.2 邊緣特徵106
3.3.3 Sobel運算元的實現110
3.3.4 Canny運算元的實現119
3.3.5 Laplacian運算元的實現126
3.3.6 Scharr濾波器的實現134
3.3.7 幫助140
第4章 數字圖像加密學習系統141
4.1 系統介紹142
4.1.1 功能描述142
4.1.2 界面效果142
4.2 系統原理142
4.2.1 混沌系統143
4.2.2 異或加密146
4.2.3 置亂加密151
4.3 系統結構與流程153
4.3.1 總體結構153
4.3.2 生成混沌圖像153
4.3.3 異或加密流程156
4.3.4 置亂加密流程157
4.4 編程實現160
4.4.1 混沌圖像的實現160
4.4.2 異或加密的實現165
4.4.3 置亂加密的實現173
4.4.4 幫助183
第5章 手寫數字識別學習系統184
5.1 系統介紹185
5.1.1 功能描述185
5.1.2 界面效果185
5.2 系統原理185
5.2.1 圖像特徵提取186
5.2.2 距離計算188
5.2.3 顏色處理189
5.2.4 顏色通道處理201
5.3 系統結構與流程205
5.3.1 總體結構205
5.3.2 主要流程205
5.4 編程實現206
5.4.1 檔案處理206
5.4.2 數字識別206
5.4.3 顏色處理210
5.4.4 通道處理214
5.4.5 幫助221
第6章 骰子作畫學習系統223
6.1 系統介紹224
6.1.1 功能描述224
6.1.2 界面效果224
6.2 系統原理224
6.2.1 骰子狀子塊225
6.2.2 原始圖像特徵值計算226
6.2.3 映射227
6.2.4 閾值處理227
6.3 系統結構與流程229
6.3.1 總體結構230
6.3.2 主要流程230
6.4 編程實現231
6.4.1 檔案231
6.4.2 骰子畫231
6.4.3 骰子原型238
6.4.4 點圖245
6.4.5 幫助253
第7章 濾鏡效果學習系統254
7.1 系統介紹255
7.1.1 功能描述255
7.1.2 界面效果255
7.2 系統結構255
7.3 系統實現256
7.3.1 檔案處理256
7.3.2 顏色效果257
7.3.3 手工畫效果267
7.3.4 藝術效果272
7.3.5 光線效果285
7.3.6 雕刻效果288
7.3.7 幫助298
第8章 盲數字水印學習系統299
8.1 系統介紹300
8.1.1 功能描述300
8.1.2 界面效果300
8.2 系統原理300
8.2.1 通道分解301
8.2.2 位平面分解303
8.2.3 最低有效位盲水印304
8.2.4 位置矩陣307
8.2.5 隨機位盲水印309
8.3 系統結構與流程312
8.3.1 總體結構312
8.3.2 通道分解312
8.3.3 位平面分解314
8.3.4 最低有效位盲水印318
8.3.5 隨機位盲水印325
8.4 編程實現334
8.4.1 通道分解334
8.4.2 位平面分解343
8.4.3 最低有效位盲水印361
8.4.4 隨機位盲水印367
8.4.5 幫助375
第9章 圖像檢索系統376
9.1 系統介紹377
9.1.1 功能描述377
9.1.2 運行效果377
9.2 系統原理381
9.2.1 灰度化381
9.2.2 縮小尺寸382
9.2.3 簡化色彩385
9.2.4 計算特徵矩陣386
9.2.5 獲取哈希值387
9.2.6 計算距離387
9.3 系統結構與流程388
9.3.1 總體結構388
9.3.2 主要流程388
9.4 編程實現389
9.4.1 打開資料夾的實現389
9.4.2 提取特徵的實現390
9.4.3 打開檔案的實現394
9.4.4 檢索的實現394
9.4.5 清除功能的實現396
9.4.6 幫助397
9.5 運行效果397
第10章 非盲數字水印學習系統398
10.1 系統介紹399
10.1.1 功能描述399
10.1.2 界面效果399
10.2 系統原理400
10.2.1 最低有效位非盲水印401
10.2.2 隨機位非盲水印405
10.3 系統結構與流程412
10.3.1 總體結構412
10.3.2 最低有效位非盲水印412
10.3.3 隨機位非盲水印421
10.4 編程實現432
10.4.1 最低有效位非盲水印432
10.4.2 隨機位非盲水印439
10.4.3 幫助448
附錄A 系統配置449
附錄B 在Qt內使用OpenCV 474
參考文獻487