OpenCV是可以在多平臺下運行、并提供了多語言接口的一個庫,實現了圖像處理和計算機視覺方面的很多通用算法。
本書是介紹OpenCV結合Visual Studio進行圖像識別和處理的編程指南。全書共11章,介紹了OpenCV和Visual Studio的安裝設置,以及Core、HighGUI、ImgProc、Calib3d、Feature2d、Video、Objdetect、ML、Contrib等模塊,涉及文字處理、照片處理、圖像識別、OpenGL整合、硬件設備結合使用等眾多方面的功能,*后還給出了綜合應用的實例。
本書適合對于圖像識別和處理技術感興趣,并且想要學習OpenCV的應用和編程的讀者閱讀和參考。
你是否對智能機器人、無人駕駛、人臉識別等技術感興趣呢?其實,這些技術都離不開圖像識別。圖像識別技術除了包括靜態文本的OCR掃描,還包括動態識別技術,如環境空間探測、動態物體追蹤、視頻比對分析等,這些技術可以在智能感應家電、自動化設備、家庭安保系統等各種環境中應用。
本書從基本原理入手,通過充分的實例來介紹各種圖像處理應用的開發。程序代碼使用Visual Studio并結合C/C 語言,幫助讀者掌握真正的應用場景和開發技能。
本書適合對于圖像識別和處理技術感興趣并且想要學習OpenCV的應用和編程的讀者閱讀和參考。
作者簡介
望熙榮,中國臺灣中興大學環境工程系副教授,多年教授計算機程序設計、大數據分析、R語言在環境工程中的應用等課程。
望熙貴,現任摩托羅拉半導體事業部項目經理,曾先后在多家知名IT企業擔任項目經理。
目 錄
第1章 系統安裝與項目準備1
1.1 認識OpenCV2
1.2 系統安裝3
1.2.1 安裝OpenCV3
1.2.2 安裝Visual Studio 20136
1.3 開始新項目7
項目屬性的設置9
第2章 Core模塊16
2.1 顯示圖文件17
2.2 圖文件轉換30
2.3 圖文件混合32
2.4 改變對比與明亮度39
2.5 基本繪圖41
2.6 文字處理49
2.7 離散的傅立葉變換57
2.8 使用XML與YAML進行文件的
輸出輸入61
2.9 與OpenCV 1互通70
第3章 HighGUI模塊74
3.1 滑塊功能75
3.2 讀取視頻文件進行相似性
比較77
3.3 產生視頻文件82
第4章 ImgProc模塊85
4.1 圖像的平滑化86
4.2 腐蝕與膨脹90
4.3 更多形態處理93
4.4 圖像金字塔96
4.5 基本閾值法99
4.6 建立自己的線性濾波器104
4.7 將圖像加上邊框107
4.8 Sobel算子108
4.9 拉普拉斯運算112
4.10 Canny圖像邊緣檢測113
4.11 霍夫線變換116
4.12 霍夫圓變換121
4.13 重映射124
4.14 仿射變換127
4.15 直方圖分布平等化129
4.16 直方圖分布計算131
4.17 直方圖分布比較134
4.18 反向投影136
4.19 模板匹配149
4.20 尋找圖的輪廓153
4.21 凸包159
4.22 為輪廓建立許多矩形與
圓形162
4.23 為輪廓建立旋轉的矩形與
橢圓形164
4.24 圖像矩166
4.25 點多邊形測試169
4.26 線性變換171
第5章 Calib3d模塊173
5.1 使用棋盤進行相機校準174
5.2 視差193
第6章 Feature2d模塊195
6.1 特征描述196
6.2 哈瑞斯角點檢測198
6.3 使用FLANN進行特征
匹配200
6.4 使用Features2D和Homography
識別對象202
6.5 Shi-Tomasi角點檢測204
6.6 建立自定義的角點檢測206
6.7 在次像素檢測角位置209
6.8 特征檢測211
第7章 Video模塊213
7.1 圖像拍攝214
7.2 生成視頻文件215
7.3 指定幀218
7.4 移動感知219
7.5 計算移動時間221
7.6 即時對象追蹤225
7.7 播放暫停229
第8章 Objdetect模塊231
級聯式類分類232
第9章 ML模塊236
9.1 支持向量機的介紹239
9.2 非線性可分開數據的支持
向量機242
第10章 Contrib模塊245
探索視網膜效果并用來進
行圖像處理246
第11章 實際應用251
11.1 圖像藏密252
11.2 圖像采集255
11.3 QR Code檢測268
11.4 與OpenGL整合275
附錄281