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