內容簡介
本書涉及各種基於計算機視覺、機器學習,以及多種應用程式框架的項目。為了讓你能夠在各種桌面系統和樹莓派上構建應用程式,本書支持從2.7到3.7的多種Python版本。對於
Android應用程式開發,本書還支持Android Studio中的Java以及Unity遊戲引擎中的C#。本書將從詹姆斯·邦德獲得靈感,給你的日常生活增添一點冒險色彩,並將計算機視覺帶入你的生活中。你可以利用分析障礙物、人或貓的智慧型攝像頭系統保護你的家和車。除此之外,你還將學習如何訓練一個搜尋引擎肯定或否定它所找到的圖像,以及如何建立一個能夠與你對話,並對你的肢體語言做出反應的移動應用程式。
學習完本書之後,你將掌握開發應用程式和計算機視覺的知識及技能,最終,你會成為相關領域的專業人士。
通過閱讀本書,你將學到:
●檢測運動並識別手勢,進而控制一個智慧型手機遊戲。
●檢測汽車頭燈,估計頭燈之間的距離。
●檢測和識別人臉及貓臉來觸發報警。
●放大在實時視頻中的運動,顯示心跳和呼吸。
●檢測在一個實際場景中繪製的形狀,進行物理模擬。
●用Python 3為桌面和樹莓派構建OpenCV 4項目。
●在Android Studio和Unity中開發OpenCV 4 Android應用程式。
圖書目錄
【第一部分 概述】
●第1章 任務準備2
1.1 技術需求3
1.2 安裝開發機3
1.2.1 在Windows上安裝Python和OpenCV5
1.2.2 在Mac上安裝Python和OpenCV8
1.2.3 在Debian Jessie及其衍生系統(包括Raspbian、Ubuntu和Linux Mint)上安裝Python和OpenCV12
1.2.4 在Fedora及其衍生系統(包括RHEL和CentOS)上安裝Python和OpenCV15
1.2.5 在openSUSE及其衍生系統上安裝Python和OpenCV16
1.3 安裝Android Studio和OpenCV16
1.4 安裝Unity和OpenCV17
1.5 安裝樹莓派18
1.6 查找OpenCV文檔、幫助和更新22
1.7 樹莓派的替代產品23
1.8 本章小結23
●第2章 搜尋世界各地的豪華住宿24
2.1 技術需求24
2.2 設計Luxocator應用程式25
2.3 直方圖的創建、比較和存儲26
2.4 用參考圖像訓練分類器31
2.5 從網上獲取圖像32
2.6 從Bing圖像搜尋上獲取圖像34
2.7 為應用程式準備圖像和資源39
2.8 將所有內容集成到GUI中41
2.9 運行Luxocator並解決SSL問題48
2.10 編譯Luxocator發行版49
2.11 本章小結51
【第二部分 追蹤】
●第3章 訓練智慧型警報器識別壞蛋和他的貓54
3.1 技術需求55
3.2 機器學習的通識理解55
3.3 設計互動式識別器應用程式56
3.4 理解哈爾級聯和LBPH58
3.5 實現互動式識別器應用程式60
3.6 設計貓檢測模型72
3.7 實現貓檢測模型的訓練腳本74
3.8 設計Angora Blue應用程式85
3.9 實現Angora Blue應用程式85
3.10 編譯Angora Blue的發行版91
3.11 搜尋貓科動物的更多樂趣91
3.12 本章小結91
●第4章 用輕柔的動作控制手機應用程式93
4.1 技術需求94
4.2 設計Goldgesture應用程式94
4.3 理解光流95
4.4 在Android Studio中設定項目96
4.5 獲取級聯檔案和音頻檔案100
4.6 指定應用程式的需求101
4.7 將攝像頭預覽布置為主視圖102
4.8 跟蹤往復動作103
4.9 播放的音頻片段作為問題和答案105
4.10 在活動中捕捉圖像並跟蹤臉部109
4.11 本章小結123
●第5章 給汽車配備
後視攝像頭和危險檢測裝置124
5.1 技術需求125
5.2 設計The Living Headlights應用程式125
5.3 檢測光作為斑點127
5.4 估算距離(一種廉價的方法)129
5.5 實現The Living Headlights應用程式132
5.6 在家裡測試The Living Headlights應用程式143
5.7 在車內測試The LivingHeadlights應用程式145
5.8 本章小結148
●第6章 基於筆和紙的草圖創建物理模擬150
6.1 技術需求151
6.2 設計Rollingball應用程式152
6.3 檢測圓形和線條153
6.4 為Unity安裝OpenCV155
6.5 配置和編譯Unity項目157
6.6 在Unity中創建Rollingball場景160
6.7 創建Unity資源並將其添加到場景中162
6.7.1 編寫著色程式並創建素材162
6.7.2 創建物理素材164
6.7.3 創建prefab165
6.7.4 編寫我們的第一個Unity腳本167
6.7.5 編寫Rollingball的主腳本168
6.8 在Unity中創建啟動場景183
6.9 整理和測試184
6.10 本章小結186
【第三部分 大揭秘】
●第7章 用運動放大攝像頭觀察心跳188
7.1 技術需求189
7.2 設計Lazy Eyes應用程式190
7.3 歐拉視頻放大191
7.5 用圖像金字塔合成兩幅圖像195
7.6 實現Lazy Eyes應用程式196
7.7 為各種運動配置和測試應用程式203
7.8 本章小結208
●第8章 停下來,像蜜蜂一樣觀察209
8.1 技術需求210
8.2 設計Sunbaker應用程式210
8.3 了解光譜212
8.4 尋找專業相機213
8.4.1 XNiteUSB2S-MUV214
8.4.2 Sony PlayStation Eye215
8.4.3 灰點Grasshopper 3 GS3-U3-23S6M-C216
8.5 安裝Spinnaker SDK和PySpin217
8.6 用PySpin從工業相機中獲取圖像218
8.7 調整Lazy Eyes應用程式生成Sunbaker223
8.8 本章小結225
附錄A 使WxUtils.py與樹莓派兼容227
附錄B 學習OpenCV中有關特徵檢測的更多內容229
附錄C 與蛇共舞(Python的第一步)231
作者簡介
【作者簡介】
約瑟夫·豪斯(Joseph Howse)
計算機視覺領域的專家,著作包括OpenCV 4 for Secret Agents、OpenCV 3 Blueprints、Android Application Programming with OpenCV 3、iOS Application Development with OpenCV 3、Learning OpenCV 3 Computer Vision with Python和Python Game Programming by Example等。
【譯者簡介】
劉冰
博士畢業於重慶大學,
重慶郵電大學計算機科學與技術學院/人工智慧學院教師,先後發表SCI/EI學術論文4篇、翻譯出版程式設計、圖像處理、計算機視覺等領域譯著4部,編寫教材5部,申請發明專利3項,參與主研國家、省部級項目3項。榮獲重慶郵電大學優秀班主任、優秀班導師、優秀青年教師等榮譽稱號。