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>