1.下载和安装OpenCV SDK
在官网:http://opencv.org/上找到OpenCV windows版下载下来。
下载完后得到文件OpenCV 2.4.X,双击后会提示解压到某个地方,推荐放到D:\Program Files\下,比如D:\Program Files,(因为OpenCV项目文件打包的时候,根目录就是opencv,所以我们不需要额外的新建一个名为opencv的文件夹,然后再解压,那是多此一举的事情)然后点击Extract按钮。
2.配置环境变量
这步的配置方法如下:
【计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】->“双击”系统变量中的PATH->在变量值里面添加相应的路径。如图:
<1>
<2>
<3>
<4>
<5>
对于32位系统,就添加:
”;…… opencv\build\x86\vc10\bin”(和之前的就有有的环境变量用英文的分号“;”进行分隔)
而对于64位系统,可以两个都添加上:
”;…… opencv\build\x86\vc10\bin”
和”…… opencv\build\x64\vc10\bin”,
这样,到时候才可以在编译器Win32和X64中来回切换都吃得开,游刃有余~
例如,浅墨的就是
D:\Program Files\opencv\build\x64\vc10\bin;D:\Program Files\opencv\build\x86\vc10\bin
PS:有童鞋亲测说64位系统也只需添加”…… opencv\build\x86\vc10\bin”即可,大家不妨一试。
注:变量值实际为bin文件夹的路径;D表示OpenCV安装于D盘;X64表示运行系统环境位64位系统,若安装于32位系统,应为X86;vc10表示编译环境为Microsoft Visual Studio 2010;变量添加完成后最好注销系统,才会生效。
4.工程库(lib)目录的配置
其实这步和上一步差不多,属性管理器”工作区中,点击项目->Debug|Win32->Microsoft.Cpp.Win32.userDirectories(反键属性,或者双击)打开属性页面。
接着上步,就是在【通用属性】 ->【VC++目录】 ->【库目录】中
添加上D:\Program Files\opencv\build\x86\vc10\lib这个路径。
5.链接库的配置
对于【OpenCV2.4.13】,添加如下2413版本的lib(这样的lib顺序是:带d的debug版的lib写在前面,不带d的release版的lib写在后面):
opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_ml2413d.lib
opencv_nonfree2413d.lib
opencv_objdetect2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_videostab2413d.lib
opencv_calib3d2413.lib
opencv_contrib2413.lib
opencv_core2413.lib
opencv_features2d2413.lib
opencv_flann2413.lib
opencv_gpu2413.lib
opencv_highgui2413.lib
opencv_imgproc2413.lib
opencv_legacy2413.lib
opencv_ml2413.lib
opencv_nonfree2413.lib
opencv_objdetect2413.lib
opencv_ocl2413.lib
opencv_photo2413.lib
opencv_stitching2413.lib
opencv_superres2413.lib
opencv_ts2413.lib
opencv_video2413.lib
opencv_videostab2413.lib
需要注意的是,所粘贴内容即为之前我们解压的OpencV目录D:\opencv\build\x86\vc10\lib下所有lib库文件的名字;其中的248代表我们的OpenCV版本为2.4.8,若是其他版本的配置则在这里要进行相应的更改,比如说2.4.6版的OpenCV,那么这里的opencv_calib3d248d.lib就要改成opencv_calib3d246d.lib了.
Debug文件库名有d结尾,Release没有,如 opencv_ts248d.lib(debug版本的lib)和opencv_ts248.lib(release版本的lib)
不过我一般是在这里把带d和不带d的统统写在这里,因为这里是以后创建所有工程时都会继承的公共属性。
对于【OpenCV 3.0】,添加3.0版本的lib,新版的lib非常简单。想用debug版本的库,添加
opencv_ts300d.lib
opencv_world300d.lib 这两个库即可。
而想用release版本的库,添加
opencv_ts300.lib
opencv_world300.lib即可。
6.在Windows文件夹下加入OpenCV动态链接库
把相关的dll都拷贝到Windows操作系统的目录下。如果你的Windows安装在C盘,那么路径就是c:\Windows\System32。按照之前我的OpenCV的存放环境,这些dll存放在
D:\Program Files\opencv\build\x86\vc10\bin目录下。
7.最终的测试
- #include<iostream>
- #include <opencv2/core/core.hpp>
- #include <opencv2/highgui/highgui.hpp>
- using namespace cv;
- int main()
- {
- // 读入一张图片(游戏原画)
- Mat img=imread("pic.jpg");
- // 创建一个名为 "游戏原画"窗口
- namedWindow("游戏原画");
- // 在窗口中显示游戏原画
- imshow("游戏原画",img);
- // 等待6000 ms后窗口自动关闭
- waitKey(6000);
- #include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
Mat srcImage1 = imread("pic.png", 1);//该图片必须在工程目录下
//如果读入图像失败
if (!srcImage1.data)
{
printf("error");
return false;
}
//显示图像,在哪个个窗口显示
namedWindow("image", CV_NORMAL);//此函数以后会很有用,CV_NORMAL保证输出的图片可拉伸
imshow("image", srcImage1); //void namedWindow(const string& winname, int flags = WINDOW_AUTOSIZE)//用来创建窗口的函数
//此函数等待按键,按键盘任意键就返回
waitKey();
return 0;
}