win7下vs2012配置opencv2.4.9
1.准备工作:
系统:Windows 7
平台:Visual Studio 2012 Ultimate
OpenCV:2.4.9(点此下载/)
选择这里的opencv forwindows,点击就会下载到opencv2.4.9.exe。
2.解压OpenCV-2.4.9.exe
解压(不是安装)到放置OpenCV的位置,例如 E:\Program Files\OpenCV249
可以看到,解压后在这个文件夹里面会生成一个文件夹“opencv”,里面就是OpenCV用到的全部文件了,比如“build ”、“include”等文件夹,如下图:
3.设置用户变量。
计算机>属性>高级系统设置>环境变量>新建,新建一个用户变量,如变量名:Path,变量值:C:\opencv\build\x86\vc11\bin (1)变量值有如下选择:
32位VS2008:C:\opencv\build\x86\vc9\bin
64位VS2008:C:\opencv1\build\x64\vc9\bin
32位VS2010:C:\opencv\build\x86\vc10\bin
64位VS2010:C:\opencv\build\x64\vc10\bin
32位VS2012:C:\opencv\build\x86\vc11\bin
64位VS2012:C:\opencv\build\x64\vc11\bin
32位VS2013:C:\opencv\build\x86\vc12\bin
64位VS2013:C:\opencv\build\x64\vc12\bin
opencv2.4.9目录如下,没有vc9(vs2008):
(2)打开软件安装目录查看vs版本,可以发现我安装的vs2012是在Microsoft Visual Studio 11.0里面,同时可以看到我没有安装vs2013(vc12).
(3)打开计算机>属性>高级系统设置>环境变量>新建,新建一个环境变量,变量名:path;变量值E:\opencv\build\x86\vc11\bin,点击确定,保存变量。
3.设置编译路径。
VS2012:工具>选项>VC++目录>平台,(或者新建一个项目,项目>属性>VC++目录)
接着“在显示以下内容的目录”下拉框选择“可执行文件目录”,添加下面路径:
E:\opencv\build\x86\vc11\bin
E:\opencv\build\x64\vc11\bin
然后选择“包含目录”,点击“新行”图标,分别新建3条路径:E:\opencv\build\include
E:\opencv\build\include\opencv
E:\opencv\build\include\opencv2
然后选择“库文件”,新建1条路径:
32位:E:\opencv\build\x86\vc11\lib
64位:E:\opencv\build\x64\vc11\lib
VS2012:先新建一个项目(每新建一个项目都需要进行以下的配置才能编译Opencv里的函数,可以不注册电脑),在“解决方案资源管理器”窗口下,右击,“属性”,如果是32位系统,在“平台”框上显示“Win32”,64位显示“x64”,需要更改则点击“配置管理器”,在“活动解决方案平台”下拉框新建一个对应的平台。
接着,配置属性>VC++目录,在右边“包含目录”那栏,点击编辑按钮,再分别新建以下3条路径:
E:\opencv\build\include
E:\opencv\build\include\opencv
E:\opencv\build\include\opencv2
然后选择“库目录”那栏,新建1条路径:
32位:E:\opencv\build\x86\vc11\lib
64位:E:\opencv\build\x64\vc11\lib
VS2012:在“解决方案资源管理器”窗口中,右单击项目名,选择“属性”>配置属性>链接器>输入,接着在“配置”下拉框中,选择“Debug”,在“附加依赖项”那栏点击右边的“编辑”按钮,复制下面的库文件名到上方空白
处:
opencv_calib3d249d.lib opencv_contrib249d.lib opencv_core249d.lib opencv_features2d249d.lib opencv_flann249d.lib opencv_gpu249d.lib opencv_highgui249d.lib opencv_imgproc249d.lib opencv_legacy249d.lib opencv_ml249d.lib
opencv_nonfree249d.lib opencv_objdetect249d.lib opencv_photo249d.lib opencv_stitching249d.lib opencv_ts249d.lib
opencv_video249d.lib opencv_videostab249d.lib
如果是release配置(以后再说,只需要添加上面的debug配置就行了现在),然后,在“配置”下拉框中选择“Release”,照上面的操作,复制下面的库文件名到上方的空白处:
opencv_calib3d249.dll
opencv_contrib249.dll
opencv_core249.dll
opencv_features2d249.dll
opencv_ffmpeg249.dll
opencv_flann249.dll
opencv_gpu249.dll
opencv_highgui249.dll
opencv_imgproc249.dll
opencv_legacy249.dll
opencv_ml249.dll
opencv_nonfree249.dll
opencv_objdetect249.dll
opencv_photo249.dll
opencv_stitching249.dll
opencv_ts249.dll
opencv_video249.dll
opencv_videostab249.dll
(可根据实际需要删减)
4.Opencv2.3.9配置完成,编译运行程序。
编译运行下面的程序需要将rice.png文件放在项目目录下,即与项目文件同一个文件夹。
#include"stdafx.h"
#include"highgui.h"
#include"cv.h"
int main(int argc, char* argv[])
{
IplImage* src = cvLoadImage("rice.png");
cvNamedWindow("show_image",1);
cvShowImage("show_image",src);
cvWaitKey(0);
cvReleaseImage(&src);
cvDestroyWindow("show_image");
return 0;
}
运行出现以上结果,说明你的配置完成!
配置OpenCV产生flann\logger.h(66): error C4996: 'fopen': This function or variable may be unsafe问题
今天使用vs2012配置opencv编译出现问题:
1>------ 已启动生成: 项目: Win32ForOpenCV249, 配置: Debug Win32 ------
1> stdafx.cpp
1> Win32ForOpenCV249.cpp
1>f:\softs\opencv249\opencv\build\include\opencv2\flann\logger.h(66): error C4996:
'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> c:\program files (x86)\microsoft visual studio 11.0\vc\include\stdio.h(218) : 参见“fopen”的声明
========== 生成: 成功0 个,失败1 个,最新0 个,跳过0 个==========
解决办法它也写的很清楚,这里截图给大家看
ok,也就是加入一个_CRT_SECURE_NO_WARNINGS的问题。
这个问题只有在Visual Studio 2012中才会有,2010中只是一个warning。
这个问题不管在OpenCV2.4.4还是OpenCV2.4.5都有,其它版本可能也有。