原文引用地址:
http://blog.youkuaiyun.com/scottly1/article/details/40978625
1. 下载安装Opencv,去官网http://opencv.org/即可下载最新版本的Opencv,此处用的是Opencv 2.4.10
安装时傻瓜式的,最新版本的安装就是相当于解压到你指定的安装目录
2. 配置环境变量,我的电脑——属性——高级——环境变量
编辑PTAH:
对于32位系统,添加:
"; xx你的安装目录xx\opencv\build\x86\vc10\bin”(用“;”进行分隔)
而对于64位系统,可以两个都添加上:
”; xx你的安装目录xx\opencv\build\x86\vc10\bin”
和”; xx你的安装目录xx\opencv\build\x64\vc10\bin”
3. VS2010中的配置
A.工程包含目录配置
菜单栏里面点<视图>--<属性管理器>,在新出现的“属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(右键属性,或者双击)即可打开属性页面。
【通用属性】 ->【VC++目录】 ->【包含目录】中添加
D:\opencv\build
D:\opencv\build\include\opencv
D:\opencv\build\include\opencv2 这三个目录。
注意,根据自己不同的路径修改;
属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)打开属性页面。
接着上步,就是在【通用属性】 ->【VC++目录】 ->【库目录】中,添加
D:\opencv\build\x86\vc10\lib
C. 链接库配置
“属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)即可打开属性页面。【通用属性】 ->【链接器】->【输入】->【附加的依赖项】,添加如下内容:
opencv_ml2410d.lib
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_core2410d.lib
opencv_features2d2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_objdetect2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_nonfree2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_videostab2410d.lib
opencv_objdetect2410.lib
opencv_ts2410.lib
opencv_video2410.lib
opencv_nonfree2410.lib
opencv_ocl2410.lib
opencv_photo2410.lib
opencv_stitching2410.lib
opencv_superres2410.lib
opencv_videostab2410.lib
opencv_calib3d2410.lib
opencv_contrib2410.lib
opencv_core2410.lib
opencv_features2d2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_ml2410.lib
4. OK,大功告成,下面就可以使用Opencv干你想干的事啦!
简单的一个测试代码
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
Mat img=imread("pic.jpg");//读入一张图片
namedWindow("Test"); //创建一个名为Test窗口
imshow("Test",img); //窗口中显示图像
waitKey(5000); //等待5000ms后窗口自动关闭
}
配置好了,之后如果仍然有问题就是因为头文件调用方式问题啦(如下代码部分),要写清调用文件地址,之后就没有问题啦。
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
库目录和包含目录是干什么的?http://blog.sina.com.cn/s/blog_5c6f793801016xfh.html
虽然在项目里填了库文件 和 包含文件的目录但是,在源文件里必然还写了include 的代码,所以这和源代码也是相关的。
包含目录:告诉VC去什么地方寻找(OpenCV)的头文件。.h文件
库目录:告诉VC去什么地方寻找OpenCV的库文件。.lib文件,是动态库
库文件即lib文件,如cutil32.lib,这是程序里的代码调用了cutil32.lib里的方法。在连接器-输入-附加依赖项里要填上cutil32.lib此时会去库文件目录里找,并加载。
程序发布后不再需要cutil32.lib 但是需要cutil32.dll了。刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。
两种方案
1:把所需的dll复制到发布的程序(release)文件夹下。
2:把所需dll文件的目录加入到path环境变量下。
这里的原理是:当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序, 并且执行.
=========================================================
观察,电脑的环境变量会发现,装完cuda后,系统变量下多了
CUDA_PATH变量,值是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v4.1\
CUDA_LIB_PATH ,值是 %CUDA_PATH%lib\Win32
CUDA_INC_PATH,值是%CUDA_PATH%include
也就是说我们配置包含目录和库目录的时候不用自己写完整目录,只要写%CUDA_LIB_PATH%和%CUDA_INC_PATH%