WIN8.1+OpenCV2.4.10+VS2013中文版(有圖,英文版可自行對照位置)
1.首先,在網上下載Opencv的安裝包,注意留心它的版本號,一般不要用太新的,因爲可能不完整,也不要用太老的。我用的版本號是2.4.10。下載完成後打開它進行安裝。
2.配置環境變量。
右鍵計算機---->選擇最後一項--屬性---->高級屬性設置(在如圖所示位置)---->選擇“高級”選項卡---->打開“環境變量”(如圖)
3.添加系統變量
點擊“新建”,注意是新建系統變量。(上面是用戶變量,下面是系統變量,別選錯了)。
打開你Opencv安裝到的文件夾,找到build文件夾,複製其路徑,如圖。
1.在新建的系統變量 變量名處寫上OPENCV,變量值處粘貼上剛剛複製的路徑。
2.新建系統變量path,在變量值上粘貼上 %OPENCV%\x64\vc12\bin
注意:如果環境變量已經存在,直接編輯,在原本的變量之後添加,但兩個變量值之間一定要用分號隔開。
例如:path這個變量我在之前就已經創建了,其變量值爲%JAVA_HOME%\bin 如果要添加opencv的path環境變量,只需要在之後加上 ;%OPENCV%\x64\vc12\bin 使其變爲%JAVA_HOME%\bin;%OPENCV%\x64\vc12\bin
重啓你的VS後生效。
4.新建64位解決方案平臺
在圖示位置點擊向下按鈕,在彈出菜單中打開“配置管理器”。
在“活動解決方案平臺”的下拉列表中選擇新建(如圖),在“鍵入或選擇新平臺”的下拉列表中選擇x64.(如圖)。“從此處複製設置”處保持默認值Win32。
5.配置屬性
打開VS2013,打開“視圖”菜單下的“屬性管理器”(如圖)。右鍵點擊你的項目名,在彈出菜單中選擇屬性。(如圖)
6.打開“配置屬性”下的VC++目錄。在包含目錄中加入
$(OPENCV)\include
$(OPENCV)\include\opencv
$(OPENCV)\include\opencv2
在庫目錄中加入
$(OPENCV)\x64\vc10\lib
點擊左上角的配置,調爲Release,重複之前的步驟
7.打開安裝目錄下build文件夾,依次打開\x64\vc10\lib文件夾,將所有形如opencv_**d.lib格式的文件名複製到下面的位置:
打開“鏈接器”下的“輸入”,選擇“附加依賴項”,打開下拉列表下的“編輯”,在之前的文件名一個個複製到此處。
我的是2.4.10版本,在附加依賴項下需要加入如下信息
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
到這裏opencv就已經配置好了,大家可以試着運行一個簡單的opencv程序測試下,下面提供一個簡單的具有顯示圖像功能的代碼,需要保存一張jpg格式的圖片在D盤,文件名爲02.jpg。當然,也可以修改cvLoadImage的參數,將其改爲你保存圖片的位置。
#include "stdafx.h"
#include "highgui.h"
int _tmain(int argc, char** argv)
{
IplImage* img = cvLoadImage("D:\\02.jpg");
cvNamedWindow("Example", 0);//創建一個窗口顯示圖像,標題爲Example.第二個參數爲0圖片填充窗口,CV_WINDOW_AUTOSIZE爲這個窗口適應圖片
cvShowImage("Example", img); //在Example窗口中顯示img圖片
cvWaitKey(0); //等待按鍵按下
cvReleaseImage(&img); //釋放內存
cvDestroyWindow("Example"); //釋放窗口
while (1);
}
當然有人會說,每次建立工程都要進行配置,不麻煩嗎?當然有簡單一點的方法,比如建立屬性表,以後每次創建工程後直接右鍵工程名選擇添加現有屬性表。這樣就免去了一個個配置的麻煩。
創建屬性表的方法如下:創建記事本文件--->將後綴名改爲props。然後右鍵選擇打開方式爲記事本打開,將下面的這些東西粘貼進去,不同的版本唯一需要修改的就是.lib文件的文件名。大家可根據自己的實際版本進行修改。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<IncludePath>$(OPENCV)\include;$(OPENCV)\include\opencv;$(OPENCV)\include\opencv2;$(IncludePath)</IncludePath>
<LibraryPath Condition="'$(Platform)'=='X64'">$(OPENCV)\x64\vc10\lib;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<Link Condition="'$(Configuration)'=='Debug'">
<AdditionalDependencies>opencv_calib3d2410d.lib;opencv_contrib2410d.lib;opencv_core2410d.lib;opencv_features2d2410d.lib;opencv_flann2410d.lib;opencv_highgui2410d.lib;opencv_imgproc2410d.lib;opencv_legacy2410d.lib;opencv_ml2410d.lib;opencv_nonfree2410d.lib;opencv_objdetect2410d.lib;opencv_ocl2410d.lib;opencv_photo2410d.lib;opencv_stitching2410d.lib;opencv_superres2410d.lib;opencv_ts2410d.lib;opencv_video2410d.lib;opencv_videostab2410d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
<Link Condition="'$(Configuration)'=='Release'">
<AdditionalDependencies>opencv_calib3d2410d.lib;opencv_contrib2410d.lib;opencv_core2410d.lib;opencv_features2d2410d.lib;opencv_flann2410d.lib;opencv_highgui2410d.lib;opencv_imgproc2410d.lib;opencv_legacy2410d.lib;opencv_ml2410d.lib;opencv_nonfree2410d.lib;opencv_objdetect2410d.lib;opencv_ocl2410d.lib;opencv_photo2410d.lib;opencv_stitching2410d.lib;opencv_superres2410d.lib;opencv_ts2410d.lib;opencv_video2410d.lib;opencv_videostab2410d.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>