2.4.9:https://sourceforge.net/projects/opencvlibrary/postdownload
1.下载
官方网站:
http://sourceforge.net/projects/opencvlibrary/files/
直接选红色框起来的部分就可以,最新版的windows平台下opencv ,其他平台可以选其他的。
2 配置环境变量 path
高版本的OpenCV已经为VS系列编译器预先配置好了动态库和静态库,不需要自己cmake编译了。
%OpenCV%代表安装目录,vc10是vc的版本,可以查看目录支持什么版本
32位系统 & VC2010,库目录 %OpenCV%\build\x86\vc10\lib
64位系统 & VC2010,库目为:%OpenCV%\build\x64\vc10\lib
因为2.4.9版本的opencv内嵌了TBB的功能,所以取消了TBB直接安装,这样就不需要再配置TBB环境变量了。(假装没看见)
我们可以看到安装目录下有vc10 vc11 vc12所以你懂得。
3.配置VC项目(每次新项目都需要配置)
所以,用一个完整的项目例子
1创建一个Win32控制台程序opencvtest
2.配置include
打开 项目---属性
配置属性”->“VC++目录”->“包含目录”,包含
D:\Program Files\OpenCV\opencv\build\include;
D:\Program Files\OpenCV\opencv\build\include\opencv;
D:\Program Files\OpenCV\opencv\build\include\opencv2;
3.配置lib目录
将库目录输入“属性”->“配置属性”->“VC++目录”->“库目录”
D:\Program Files\OpenCV\opencv\build\x64\vc10\bin; (32位的改成x86即可)
测试 :使用OpenCV 2.4.9编程
在配置属性-->链接器--- 输入,为项目的Debug配置增加 [附加依赖项 Additional Dependencies]:
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_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
249是一个版本号
可根据实际需要删减)注意,请打开了新编辑窗口(即点击了“...”按钮)“附加依赖项”,
并一条一条分别加入,一条一行(一个回车),(注意行末不要加";")
否则会出现类似以下错误:1>LINK : fatal error LNK1104: 无法打开文件“…….lib”
为项目的relese配置增加 [附加依赖项 Additional Dependencies]:
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
opencv_ml249.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
(可根据实际需要删减)*
编译运行下面的例程,需要将lena.jpg文件放在项目目录下。如果想双击运行exe的话,图片放在.exe同一文件夹内;按F5直接运行程序的话,lena.jpg要放在opencvtest\opencvtest里)。
#include "stdafx.h"
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int _tmain(int argc, _TCHAR* argv[]){
const char* imagename = "lena.jpg";
//从文件中读入图像
Mat img = imread(imagename);
//如果读入图像失败
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
//显示图像,在哪个个窗口显示
imshow("image", img); //void namedWindow(const string& winname, int flags = WINDOW_AUTOSIZE)//用来创建窗口的函数
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;}
效果如下:
x64工程冲突
在X64 平台上开发dll 文件,在生成dll时Vs 2010 出现如下错误 :“fatal error LNK1112: 模块计算机类型“X64”与目标计算机类型“x86”冲突”;
两处需要设置:
1、右击该项目,选择属性,在最上面点击 “配置管理器”,新建平台 “x64”,然后把 活动解决方案平台选为X64,点击关闭。
2、在属性页选择 “链接器” —>“高级”,在里边有一项名为目标计算机,将其改为:MachineX64 (/MACHINE:X64) ,然后点击确定。
---------------------
作者:守望尼罗河畔的初心
来源:优快云
原文:https://blog.youkuaiyun.com/zmnqazqaz/article/details/30217793
版权声明:本文为博主原创文章,转载请附上博文链接!