前言:
- OpenCV3.1.0版本以后已經(jīng)將x86這個(gè)目錄刪除摆霉,在VS 2015環(huán)境下不能進(jìn)行32位的OpenCV編譯豪椿。
- 本文使用Windows10系統(tǒng)
- 2017年12月28日修改錯(cuò)誤和更新方法:Debug和Release模式下,屬性表的附加依賴項(xiàng)配置順序相同會(huì)導(dǎo)致錯(cuò)誤携栋。相關(guān)信息正文已更新砂碉。
一、 準(zhǔn)備
1.安裝Visual Studio 2015
2.在OpenCV網(wǎng)站下載OpenCV3.2.刻两。
3.安裝OpenCV。默認(rèn)安裝在C盤Program Files文件夾下滴某,也可安裝在自定義的路徑下磅摹。(我安裝在"E:\ImportantApp\OpenCV3.2"目錄下,安裝文件解壓后會(huì)產(chǎn)生一個(gè)名為opencv的根目錄霎奢,所以并不需要新建一個(gè)OpenCV3.2文件夾户誓。)
安裝即解壓后,會(huì)在指定的路徑下生成一個(gè)名為opencv的文件夾幕侠,它包含兩個(gè)子文件夾帝美,分別名為build和sources。build包含OpenCV的相關(guān)庫(kù)文件晤硕,sources是OpenCV的源代碼和demo示范源碼悼潭。
二庇忌、 配置OpenCV
1.配置環(huán)境變量
- 鼠標(biāo)右擊此電腦,點(diǎn)擊屬性選項(xiàng)->高級(jí)系統(tǒng)設(shè)置->高級(jí)->環(huán)境變量舰褪,在系統(tǒng)變量中選中Path變量皆疹,新建,輸入”O(jiān)penCV安裝路徑\opencv\build\x64\vc14\bin”(64位系統(tǒng))占拍。
2.工程包含(include)目錄的配置
- 1)打開(kāi)VS 2015略就,單擊菜單欄中的文件->新建->項(xiàng)目。在新窗口中選擇Visual C++晃酒,Win32控制臺(tái)應(yīng)用程序表牢,自定項(xiàng)目名稱、位置贝次。在彈出窗口中選擇下一步崔兴,附加選項(xiàng)中對(duì)空項(xiàng)目打?qū)础|c(diǎn)擊完成浊闪。
- 2)新建項(xiàng)目后恼布,在解決方案資源管理器的源文件處右鍵,添加->新建項(xiàng)搁宾,選擇C++文件折汞,進(jìn)行命名,然后將其添加到工程中盖腿。
- 3)在菜單欄單擊視圖(View)->其他窗口(Other Windows)->屬性管理器(Property Manger)爽待,出現(xiàn)“屬性管理器”工作區(qū)。此后有兩種方法:1. 直接修改“Microsoft.Cpp.x64.user”屬性文件 2. 刪除方法1的屬性文件并新建“OpenCV3.2PropertySheet”屬性文件翩腐。方法一的修改更新到系統(tǒng)屬性文件鸟款,一次設(shè)置此后新建的Visual Studio項(xiàng)目都可以使用OpenCV。方法二更加具體茂卦、靈活何什。
- 4)在出現(xiàn)的“屬性管理器”工作區(qū),分別展開(kāi)“Debug|X64”和“Release|X64”等龙,刪除“Microsoft.Cpp.x64.user”屬性文件处渣,分別右鍵“Debug|X64”和“Release|X64”文件夾,添加新項(xiàng)目屬性表蛛砰,命名為“OpenCV3.2PropertySheet_Debug.props”和“OpenCV3.2PropertySheet_Release.props”罐栈。此后對(duì)這兩個(gè)文件的設(shè)置相同,唯一的不同點(diǎn)會(huì)特別說(shuō)明泥畅。右鍵此屬性文件來(lái)進(jìn)行設(shè)置荠诬,單擊屬性(Properties)。
- 5)打開(kāi)屬性頁(yè)面,在通用屬性(Common Properties)->CV++目錄(VC++ Directories)->包含目錄(Include Directories)中添加三個(gè)路徑(具體安裝路徑自己調(diào)整)柑贞。
E:\ImportantApp\OpenCV3.2\opencv\build\include
E:\ImportantApp\OpenCV3.2\opencv\build\include\opencv
E:\ImportantApp\OpenCV3.2\opencv\build\include\opencv2
3.工程庫(kù)(lib)目錄的配置
- 不要關(guān)閉“OpenCV3.2PropertySheet_Debug/Release.props”屬性頁(yè)方椎。在通用屬性(Common Properties)->CV++目錄(VC++ Directories)->庫(kù)目錄(Library Directories)中添加以下路徑:
E:\ImportantApp\OpenCV3.2\opencv\build\x64\vc14\lib
4.鏈接庫(kù)的配置
- 我們可以查看工程庫(kù)(lib)目錄的配置步驟中添加的庫(kù)文件目錄lib文件列表,發(fā)現(xiàn)在3.2.0版本的OpenCV中凌外,僅剩下兩個(gè)庫(kù)文件辩尊,分別是:opencv_world320.lib和opencv_world320d.lib,兩個(gè)庫(kù)文件區(qū)別是: opencv_world320.lib是Release模式版本康辑,而opencv_world320d.lib是Debug模式版本摄欲。
- 同樣在OpenCV3.2PropertySheet_Debug屬性頁(yè),單擊展開(kāi)鏈接器(Linker)->輸入(Input)->附加依賴項(xiàng)(Additional Dependencies)疮薇,編輯添加 opencv_world320d.lib胸墙、opencv_world320.lib, OpenCV3.2PropertySheet_Release屬性頁(yè)則是opencv_world320d.lib、opencv_world320.lib按咒,兩種模式的設(shè)置順序不同;
- 確定后迟隅,顯示為
- Debug屬性文件配置成功,在“屬性管理器”工作區(qū)励七,用同樣的方式設(shè)置“Release|X64”文件夾的“OpenCV3.2PropertySheet_Release.props”屬性表智袭。
- 此時(shí)便可在X64平臺(tái)Debug和Release兩種模式下運(yùn)行代碼。在其他項(xiàng)目中如果要使用OpenCV庫(kù)就可以直接復(fù)制添加兩個(gè)屬性文件(“OpenCV3.2PropertySheet_Debug/Release.props”)掠抬,也是為什么要單獨(dú)新建屬性文件的原因吼野。
三、測(cè)試示例程序——顯示一張圖片
- 在文件中輸入
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main() {
// 讀入一張圖片(圖片)
Mat img = imread("IMG_8066.JPG");
// 創(chuàng)建一個(gè)名為 "Pic"窗口
namedWindow("Pic");
// 在窗口中顯示圖片
imshow("Pic", img);
// 等待6000 ms后窗口自動(dòng)關(guān)閉
waitKey(6000);
}
-
圖片要放在項(xiàng)目里面两波,如圖所示:
選擇X64平臺(tái)瞳步,模式為Release或Debug,運(yùn)行工程調(diào)試腰奋。
效果圖如下:
轉(zhuǎn)載時(shí)請(qǐng)附上本文的鏈接单起。