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