OpenCV是一款基于BSD許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)和機(jī)器學(xué)習(xí)軟件庫(kù),用C++語(yǔ)言編寫(xiě),具有C ++,Python,Java和MATLAB接口,可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法。
OpenCV 軟件特色
高動(dòng)態(tài)范圍成像
如今大多數(shù)數(shù)字圖像和成像裝置使用每通道8位,因此將裝置的動(dòng)態(tài)范圍限制為兩個(gè)數(shù)量級(jí)(實(shí)際上256個(gè)級(jí)別),而人眼可適應(yīng)變化十個(gè)數(shù)量級(jí)的照明條件。當(dāng)我們拍攝真實(shí)世界場(chǎng)景的照片時(shí),明亮區(qū)域可能曝光過(guò)度,而暗區(qū)域可能曝光不足,因此我們無(wú)法使用單次曝光拍攝所有細(xì)節(jié)。HDR成像適用于每通道使用多達(dá)8位(通常為32位浮點(diǎn)值)的圖像,允許更寬的動(dòng)態(tài)范圍
iOS應(yīng)用程序開(kāi)發(fā)與OpenCV 3使您能夠?qū)⒛闹悄苁謾C(jī)攝像頭成為一個(gè)先進(jìn)的攝影和計(jì)算機(jī)視覺(jué)工具。使用高度優(yōu)化的OpenCV庫(kù),您將實(shí)時(shí)處理高分辨率圖像。您將定位和分類對(duì)象,并創(chuàng)建其幾何的模型。在開(kāi)發(fā)照片和增強(qiáng)現(xiàn)實(shí)應(yīng)用程序時(shí),您將大致了解iOS框架和開(kāi)發(fā)人員工具,以及對(duì)相機(jī)和圖像API的更深入了解。
OpenCV 3.0計(jì)算機(jī)視覺(jué)與Java是一個(gè)實(shí)用的教程指南,解釋計(jì)算機(jī)視覺(jué)的基本任務(wù),同時(shí)專注于Java開(kāi)發(fā)。本書(shū)將教你如何設(shè)置OpenCV for Java和使用圖像處理的基本操作(如過(guò)濾和圖像轉(zhuǎn)換)處理矩陣。它還將幫助您學(xué)習(xí)如何使用哈爾級(jí)聯(lián)跟蹤面部,并檢測(cè)前景和背景區(qū)域與Kinect設(shè)備的幫助。它甚至?xí)o你洞察服務(wù)器端OpenCV。每章都有幾個(gè)準(zhǔn)備使用的項(xiàng)目。這些項(xiàng)目的功能可以在許多類中找到,這些類允許開(kāi)發(fā)人員理解計(jì)算機(jī)視覺(jué)原理,并根據(jù)他們的需要快速擴(kuò)展或定制項(xiàng)目。
OpenCV是一個(gè)著名的計(jì)算機(jī)視覺(jué)庫(kù),用于分析和轉(zhuǎn)換大量的圖像數(shù)據(jù),甚至在實(shí)時(shí)和移動(dòng)設(shè)備上。
本書(shū)重點(diǎn)介紹利用移動(dòng)平臺(tái)構(gòu)建交互式和有用的應(yīng)用程序。本書(shū)首先介紹OpenCV和Android,以及它們?nèi)绾问褂肙penCV的Java API進(jìn)行交互。在了解如何構(gòu)建更復(fù)雜的應(yīng)用程序(如對(duì)象檢測(cè),圖像拼接和面部檢測(cè))之前,您還將發(fā)現(xiàn)基本的圖像處理技術(shù),例如圖像的侵蝕和擴(kuò)張。隨著您的進(jìn)步,您將被介紹到OpenCV的機(jī)器學(xué)習(xí)框架,使您能夠使您的應(yīng)用程序更聰明。
這本書(shū)結(jié)束了一個(gè)簡(jiǎn)短的章節(jié),涵蓋了有用的Android提示和技巧,以及一些人們?cè)跇?gòu)建應(yīng)用程序時(shí)可能面臨的常見(jiàn)錯(cuò)誤和解決方案。到本書(shū)結(jié)束時(shí),讀者將獲得更多的專業(yè)知識(shí),為Android平臺(tái)構(gòu)建自己的OpenCV項(xiàng)目,并將OpenCV應(yīng)用程序編程集成到現(xiàn)有項(xiàng)目中。
Windows下OpenCV的環(huán)境配置
OpenCV3.0.0+win10 64位+vs2015環(huán)境的下載,安裝,配置與屬性表的生成
操作系統(tǒng):WIN10 pro 64
軟件版本:VS2015+OpenCV3.0.0
一、OpenCV3.0.0下載
下載后,可得到一個(gè)exe文件(實(shí)際上可以看作一個(gè)壓縮包)
二、OpenCV3.0.0安裝
這個(gè)過(guò)程實(shí)際上是一個(gè)解壓的過(guò)程。
運(yùn)行exe文件,會(huì)讓你選擇解壓目錄,確定后,程序會(huì)在該目錄下生成一個(gè)名為"Opencv"的根目錄
可以生成如下目錄
其中,build文件是已經(jīng)編譯好的庫(kù),也是我們需要配置到VS當(dāng)中的部分。Sources文件是OpenCV的源代碼,想研究算法原理或程序結(jié)構(gòu)的可以看看。
三、OpenCV3.0.0配置
1、配置環(huán)境變量
右鍵此電腦(我的電腦)——屬性——高級(jí)系統(tǒng)設(shè)置——環(huán)境變量——系統(tǒng)變量——PATH
將如下路徑添加到末尾(別忘了前邊加個(gè)分號(hào)):
D:\Program Files (x86)\opencv\build\x86\vc12\bin (opencv前邊的目錄需要根據(jù)你自己的目錄來(lái)填寫(xiě))
2、VS2015配置
這里先講針對(duì)一個(gè)項(xiàng)目的配置,用該種配置方法,配置只對(duì)當(dāng)前項(xiàng)目有效,如果新建一個(gè)項(xiàng)目,則需要重新配置。
需要將如下目錄添加進(jìn)屬性中(根據(jù)自己的目錄修改前半部分的路徑):
新建工程——右鍵項(xiàng)目——屬性
VC++目錄
包含目錄:
D:\Program Files (x86)\opencv\build\include\opencv2
D:\Program Files (x86)\opencv\build\include\opencv
D:\Program Files (x86)\opencv\build\include
庫(kù)目錄:
D:\Program Files (x86)\opencv\build\x86\vc12\lib
鏈接器——輸入
附加依賴項(xiàng)(debug):
opencv_ts300d.lib
opencv_world300d.lib
附加依賴項(xiàng)(Release):
opencv_ts300.lib
opencv_world300.lib
至此,配置完成,可以百度個(gè)測(cè)試程序來(lái)驗(yàn)證是否成功。
四、利用屬性表進(jìn)行配置
利用屬性表進(jìn)行配置非常方便,只需進(jìn)行一次上述的路徑配置,并生成屬性表,下次新建項(xiàng)目的時(shí)候,只需將屬性表添加進(jìn)來(lái)即可,不用再輸入那么多的目錄了。
此步驟可以替代(三)中的2,也就是說(shuō)之前的配置環(huán)境變量等步驟都是需要做的。
視圖——其他窗口——屬性管理器——右鍵Debug(或Release)"Win32——添加新項(xiàng)目屬性表——命名——確定
右鍵新生成的屬性表,按照(三).2中的配置方法,配置完成并保存。(Release版本需要重新創(chuàng)建一個(gè)屬性表)
這樣,同樣可以實(shí)現(xiàn)配置,跑一下測(cè)試程序,也是OK。
創(chuàng)建屬性表之后,在項(xiàng)目目錄里可以看到生成了props文件,也就是屬性表
下次新建項(xiàng)目時(shí),選擇添加現(xiàn)有屬性表,對(duì)照Debug或者Release版本添加進(jìn)來(lái),就可以了。
右鍵屬性表,用記事本打開(kāi),可以發(fā)現(xiàn)我們的配置詳情,當(dāng)你需要改配置的時(shí)候,直接用txt修改也是完全可以的。