OpenCV項目開發(fā)實戰(zhàn)(原書第2版)
定 價:79 元
叢書名:華章程序員書庫
- 作者:(美)約瑟夫·豪斯(Joseph Howse)
- 出版時間:2020/4/1
- ISBN:9787111652342
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP391.413
- 頁碼:248
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書詳細闡述了與OpenCV移動應(yīng)用程序相關(guān)的基本解決方案,主要包括搜索世界范圍內(nèi)的豪華建筑、利用姿勢控制應(yīng)用程序、車載后視攝像頭和危險警告、利用運動放大相機查看心率、根據(jù)素描畫創(chuàng)建物理模擬等內(nèi)容。此外,本書還提供了相應(yīng)的示例、代碼,以幫助讀者進一步理解相關(guān)方案的實現(xiàn)過程。本書適合作為高等院校計算機及相關(guān)專業(yè)的教材和教學(xué)參考書,也可作為相關(guān)開發(fā)人員的自學(xué)教材和參考手冊。
OpenCV 4是一個開源的圖像處理函數(shù)和計算機視覺算法的集合,支持多種編程語言和平臺,能夠快速實現(xiàn)許多實時應(yīng)用程序。借助OpenCV 4,你將能夠構(gòu)建各種令人滿意的小工具。
本書是一本OpenCV項目開發(fā)入門教程。作者從實際代碼出發(fā),通過實際的編程案例,詳細闡述與OpenCV移動應(yīng)用程序相關(guān)的基本解決方案,并討論計算機視覺相關(guān)的實用技術(shù)和技巧,涵蓋從設(shè)置開發(fā)環(huán)境到部署完成應(yīng)用程序的所有內(nèi)容,可以幫助你快速熟悉、了解并掌握OpenCV 4開發(fā)過程。
全書共7章,分別介紹了開發(fā)環(huán)境設(shè)置、在搜索引擎中使用分類器來標(biāo)記圖像結(jié)果、用輕柔的動作控制手機應(yīng)用程序、車載后視攝像頭和危險檢測、利用運動放大相機查看心率、基于筆和紙的草圖創(chuàng)建物理模擬等內(nèi)容。此外,本書還提供了相應(yīng)的示例、代碼,以幫助你進一步理解相關(guān)方案的實現(xiàn)過程。
【前言】
計算機視覺系統(tǒng)的應(yīng)用越來越廣泛:在北冰洋部署了計算機視覺系統(tǒng),以便在夜間發(fā)現(xiàn)冰山;各種飛行器上應(yīng)用了計算機視覺系統(tǒng),它們飛過亞馬孫熱帶雨林,繪制火災(zāi)、破壞雨林和非法伐木的航拍圖;世界各地的港口和機場設(shè)立了計算機視覺系統(tǒng),以掃描嫌疑人和違禁品;計算機視覺系統(tǒng)也被應(yīng)用到馬里亞納海溝以引導(dǎo)自主潛艇;將計算機視覺系統(tǒng)應(yīng)用于手術(shù)室,幫助外科醫(yī)生可視化手術(shù)過程并監(jiān)控病人的當(dāng)前狀況;將計算機視覺系統(tǒng)作為熱尋防空火箭的轉(zhuǎn)向系統(tǒng)從戰(zhàn)場上發(fā)射。類似的應(yīng)用不勝枚舉。
我們可能很少(或從未)去過這些地方。然而,故事往往鼓勵我們想象極端的環(huán)境和一個人在這些無情的條件下對工具的依賴。這讓我想到了當(dāng)代影視作品中最受歡迎的人物之一,他是一個普通的男人(英俊,但不太帥;聰明,但不過于聰明),穿著西裝,為英國政府工作,總是選擇同樣的飲料、同樣類型的女人,用同樣的語調(diào)傳遞雙關(guān)語,帶著一些奇特的科技武器,被派去從事危險的工作。他就是007系列電影的主人公:詹姆斯·邦德。
這本書討論了非常有用的技術(shù)和技巧,并從特工小說中獲得靈感。邦德系列電影在偵查、偽裝、智能設(shè)備、圖像拍攝,有時甚至是在計算機視覺方面都有豐富的創(chuàng)意。憑借想象力,再加上努力學(xué)習(xí)新技能,我們可以和邦德的工程師Q一較高下!
【本書目標(biāo)讀者】
本書是為那些想讓計算機視覺成為他們生活中實用而有趣的一部分的技術(shù)人員而編寫的。你應(yīng)該熟悉2D圖形概念、面向?qū)ο笳Z言、GUI、網(wǎng)絡(luò)和命令行。本書假設(shè)你沒有任何特定庫或平臺的經(jīng)驗,書中涵蓋了從設(shè)置開發(fā)環(huán)境到部署完成應(yīng)用程序的所有內(nèi)容。
學(xué)習(xí)多種技術(shù)和技巧,然后將其集成起來的愿望是非常有益的!本書將幫助你理解與計算機視覺相關(guān)的幾種類型的系統(tǒng)和應(yīng)用領(lǐng)域,并幫助你將一些方法應(yīng)用于檢測、識別、跟蹤和增強人臉、物體及運動。
【本書內(nèi)容】
第1章幫助我們在Windows、macOS或Linux系統(tǒng)上安裝OpenCV、Python開發(fā)環(huán)境和Android開發(fā)環(huán)境。在該章中,我們還在Windows或macOS上安裝Unity開發(fā)環(huán)境。
第2章幫助我們根據(jù)配色方案對房地產(chǎn)圖像進行分類。我們是在豪宅外,還是在豪宅內(nèi)?在該章中,我們將在搜索引擎中使用分類器來標(biāo)記圖像結(jié)果。
第3章幫助我們檢測和識別人臉與貓臉,作為控制警報的一種手段。Ernst Stavro Blofeld帶著他的藍眼睛安格拉貓回來了嗎?
第4章幫助我們檢測運動并識別動作,將其作為控制智能手機上猜謎游戲的一種手段。手機知道邦德為什么點頭,即使其他人都不知道。
第5章幫助我們檢測汽車頭燈,對其顏色進行分類,估計與它的距離,并為駕駛員提供反饋。那輛車是在跟蹤我們嗎?
第6章幫助我們在紙上畫一個迷宮中的球,并將其看成是智能手機上的一個物理模擬。物理和時間是一切!
第7章幫助我們放大實時視頻中的運動,使人的心跳和呼吸變得清晰可見。
第8章幫助我們改進前一章的項目,采用專業(yè)相機進行高速、紅外線或紫外線成像。超越人類視覺的極限!
附錄A幫助我們解決在某些樹莓派環(huán)境中影響wxPython GUI庫的兼容性問題。
附錄B幫助我們發(fā)現(xiàn)OpenCV的除本書項目中使用的功能之外的更多特征檢測功能。
附錄C幫助我們學(xué)習(xí)在Python環(huán)境中運行Python代碼以及測試OpenCV的安裝。
【最佳配置】
本書支持多種操作系統(tǒng)作為開發(fā)環(huán)境,包括Windows 7 SP 1或更高版本、macOS X 10.7(Lion)或更高版本、Debian Jessie、Raspbian、Ubuntu 14.04或更高版本、Linux Mint 17或更高版本、Fedora 28或更高版本、Red Hat Enterprise Linux(RHEL)8或更高版本、CentOS 8或更高版本、openSUSE Leap 42.3、openSUSE Leap 15.0或更高版本,以及openSUSE Tumbleweed。
本書包含6個項目,需求如下:
這6個項目中有4個項目是在Windows、macOS或Linux上運行的,需要一個網(wǎng)絡(luò)攝像頭。這些項目可以選擇使用樹莓派或其他運行Linux的單板計算機。
一個項目在Android 5.0(Lollipop)或更高版本上運行,需要一個前置攝像頭(大多數(shù)Android設(shè)備都有)。
一個項目在Android 4.1(Jelly Bean)或更高版本上運行,需要一個后置攝像頭和重力傳感器(大多數(shù)Android設(shè)備都有)。為了進行開發(fā),需要一臺Windows或macOS機器和價值約95美元的游戲開發(fā)軟件。
有關(guān)所有需求庫和工具的安裝說明,以及樹莓派的可選設(shè)置說明都將在本書介紹。
【作者簡介】
約瑟夫·豪斯(Joseph Howse)
計算機視覺領(lǐng)域的專家,著作包括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等。
【譯者簡介】
劉冰
博士畢業(yè)于重慶大學(xué),重慶郵電大學(xué)計算機科學(xué)與技術(shù)學(xué)院/人工智能學(xué)院教師,先后發(fā)表SCI/EI學(xué)術(shù)論文4篇、翻譯出版程序設(shè)計、圖像處理、計算機視覺等領(lǐng)域譯著4部,編寫教材5部,申請發(fā)明專利3項,參與主研國家、省部級項目3項。榮獲重慶郵電大學(xué)優(yōu)秀班主任、優(yōu)秀班導(dǎo)師、優(yōu)秀青年教師等榮譽稱號。
譯者序
前言
作者簡介
審校者簡介
譯者簡介
第一部分 概述
第1章 任務(wù)準備2
1.1 技術(shù)需求3
1.2 安裝開發(fā)機3
1.2.1 在Windows上安裝Python和OpenCV5
1.2.2 在Mac上安裝Python和OpenCV8
1.2.3 在Debian Jessie及其衍生系統(tǒng)(包括Raspbian、Ubuntu和Linux Mint)上安裝Python和OpenCV12
1.2.4 在Fedora及其衍生系統(tǒng)(包括RHEL和CentOS)上安裝Python和OpenCV15
1.2.5 在openSUSE及其衍生系統(tǒng)上安裝Python和OpenCV16
1.3 安裝Android Studio和OpenCV16
1.4 安裝Unity和OpenCV17
1.5 安裝樹莓派18
1.6 查找OpenCV文檔、幫助和更新22
1.7 樹莓派的替代產(chǎn)品23
1.8 本章小結(jié)23
第2章 搜索世界各地的豪華住宿24
2.1 技術(shù)需求24
2.2 設(shè)計Luxocator應(yīng)用程序25
2.3 直方圖的創(chuàng)建、比較和存儲26
2.4 用參考圖像訓(xùn)練分類器31
2.5 從網(wǎng)上獲取圖像32
2.6 從Bing圖像搜索上獲取圖像34
2.7 為應(yīng)用程序準備圖像和資源39
2.8 將所有內(nèi)容集成到GUI中41
2.9 運行Luxocator并解決SSL問題48
2.10 編譯Luxocator發(fā)行版49
2.11 本章小結(jié)51
第二部分 追蹤
第3章 訓(xùn)練智能警報器識別壞蛋和他的貓54
3.1 技術(shù)需求55
3.2 機器學(xué)習(xí)的通識理解55
3.3 設(shè)計交互式識別器應(yīng)用程序56
3.4 理解哈爾級聯(lián)和LBPH58
3.5 實現(xiàn)交互式識別器應(yīng)用程序60
3.6 設(shè)計貓檢測模型72
3.7 實現(xiàn)貓檢測模型的訓(xùn)練腳本74
3.8 設(shè)計Angora Blue應(yīng)用程序85
3.9 實現(xiàn)Angora Blue應(yīng)用程序85
3.10 編譯Angora Blue的發(fā)行版91
3.11 搜尋貓科動物的更多樂趣91
3.12 本章小結(jié)91
第4章 用輕柔的動作控制手機應(yīng)用程序93
4.1 技術(shù)需求94
4.2 設(shè)計Goldgesture應(yīng)用程序94
4.3 理解光流95
4.4 在Android Studio中設(shè)置項目96
4.5 獲取級聯(lián)文件和音頻文件100
4.6 指定應(yīng)用程序的需求101
4.7 將攝像頭預(yù)覽布置為主視圖102
4.8 跟蹤往復(fù)動作103
4.9 播放的音頻片段作為問題和答案105
4.10 在活動中捕捉圖像并跟蹤臉部109
4.11 本章小結(jié)123
第5章 給汽車配備后視攝像頭和危險檢測裝置124
5.1 技術(shù)需求125
5.2 設(shè)計The Living Headlights應(yīng)用程序125
5.3 檢測光作為斑點127
5.4 估算距離(一種廉價的方法)129
5.5 實現(xiàn)The Living Headlights應(yīng)用程序132
5.6 在家里測試The Living Headlights應(yīng)用程序143
5.7 在車內(nèi)測試The LivingHeadlights應(yīng)用程序145
5.8 本章小結(jié)148
第6章 基于筆和紙的草圖創(chuàng)建物理模擬150
6.1 技術(shù)需求151
6.2 設(shè)計Rollingball應(yīng)用程序152
6.3 檢測圓形和線條153
6.4 為Unity安裝OpenCV155
6.5 配置和編譯Unity項目157
6.6 在Unity中創(chuàng)建Rollingball場景160
6.7 創(chuàng)建Unity資源并將其添加到場景中162
6.7.1 編寫著色程序并創(chuàng)建素材162
6.7.2 創(chuàng)建物理素材164
6.7.3 創(chuàng)建prefab165
6.7.4 編寫我們的第一個Unity腳本167
6.7.5 編寫Rollingball的主腳本168
6.8 在Unity中創(chuàng)建啟動場景183
6.9 整理和測試184
6.10 本章小結(jié)186
第三部分 大揭秘
第7章 用運動放大攝像頭觀察心跳188
7.1 技術(shù)需求189
7.2 設(shè)計Lazy Eyes應(yīng)用程序190
7.3 歐拉視頻放大191
7.4 利用快速傅里葉變換從視頻中提取重復(fù)信號191
7.5 用圖像金字塔合成兩幅圖像195
7.6 實現(xiàn)Lazy Eyes應(yīng)用程序196
7.7 為各種運動配置和測試應(yīng)用程序203
7.8 本章小結(jié)208
第8章 停下來,像蜜蜂一樣觀察209
8.1 技術(shù)需求210
8.2 設(shè)計Sunbaker應(yīng)用程序210
8.3 了解光譜212
8.4 尋找專業(yè)相機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從工業(yè)相機中獲取圖像218
8.7 調(diào)整Lazy Eyes應(yīng)用程序生成Sunbaker223
8.8 本章小結(jié)225
附錄A 使WxUtils.py與樹莓派兼容227
附錄B 學(xué)習(xí)OpenCV中有關(guān)特征檢測的更多內(nèi)容229
附錄C 與蛇共舞(Python的第一步)231