快速配置vs2012+opencv
关于OpenCV+Windows+VS配置的文章网上有很多,多是类似 OpenCV中文网 上的安装方法。
不管什么方法,配置的步骤毫无疑问是:
1. 配置环境变量,
2. 配置VS。
在这个过程中,令人烦的是不停地打开一个个窗口设置来设置去。如何减少这些繁琐的操作呢?
一. 批处理方法配置环境变量。
这里主要用到’setx‘命令,相关详见 微软帮助文档 。下面给出代码,
@echo off echo 设置OpenCV路径为系统环境变量 setx /m OPENCV_DIR "D:\Program Files (x86)\OpenCV-2.4.8\build" setx /m OPENCV_INCLUDE "%OPENCV_DIR%\include" setx /m OPENCV_LIB "%OPENCV_DIR%\x86\vc11\lib" setx /m OPENCV_DLL "%OPENCV_DIR%\x86\vc11\bin" echo 将OpenCV动态链接库目录添加到系统路径 echo %PATH% | find "%OPENCV_DLL%" if %ERRORLEVEL% == 1 setx /m PATH "%PATH%";"%OPENCV_DLL%" pause
将代码保存到文件setEnvironmentVariable.bat,双击运行该文件就可以完成环境变量的设置,必要的时候需要管理员权限。
注1:代码中环境变量的地址,根据程序安装目录不同、需求不同进行调整。
二. 局部方法+属性表,配置VS2012。
该步骤的一般性实施方法可参考 OpenCV官网 中的Local Method。VS的配置参数,是保存在*.props中的,所以对VS的配置我们只需生成相关的props文件即可。按上述环境变量配置,该文件内容为:
<?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 /> <ItemDefinitionGroup> <ClCompile> <AdditionalIncludeDirectories>$(OPENCV_INCLUDE)</AdditionalIncludeDirectories> </ClCompile> <Link> <AdditionalLibraryDirectories>$(OPENCV_LIB)</AdditionalLibraryDirectories> <AdditionalDependencies>opencv_calib3d248d.lib;opencv_contrib248d.lib;opencv_core248d.lib;opencv_features2d248d.lib;opencv_flann248d.lib;opencv_gpu248d.lib;opencv_highgui248d.lib;opencv_imgproc248d.lib;opencv_legacy248d.lib;opencv_ml248d.lib;opencv_nonfree248d.lib;opencv_objdetect248d.lib;opencv_ocl248d.lib;opencv_photo248d.lib;opencv_stitching248d.lib;opencv_superres248d.lib;opencv_ts248d.lib;opencv_video248d.lib;opencv_videostab248d.lib;%(AdditionalDependencies)</AdditionalDependencies> </Link> </ItemDefinitionGroup> <ItemGroup /> </Project>
将以上内容保存到OpenCV_Debug.props。在我们今后用到OpenCV的项目工程中,选择属性管理器,点击对应工程名下的Debug标签,右键,选择添加现有属性表,添加刚刚保存好的OpenCV_Debug.props即可。
注1:所需的静态库名称,根据需求进行调整。
获取所有静态链接库文件名的一个快捷方法是,在文件所在目录,打开命令窗口,运行
dir /b \*d.lib | clip
可以把目录下符合*d.lib格式的文件名copy到剪切板。
注2:Release版本属性表同样设置,注意静态库的名字要修改为Release版本。
至此,大功告成。赶快运行程序测试一下。
从事图像处理、机器学习、图像识别及人机交互等领域研究及开发,承接各类人工智能、图像处理,视频处理,图像识别算法项目,请联系761551935