回想起来,接触OpenCV已有一年时间了,时间匆匆莫如白驹过隙,沧海桑田回首转瞬即逝,刚开始自己什么也不懂,没有一定的积累,更不知道如何去写博客,以此篇博客为始,记录岁月的痕迹。
好了,这篇文章作为OpenCV的启程篇,自然少不了OpenCV的配置与安装。(之前我也是由于版本原因很头痛,相信看了这篇配置,再也没有版本的原因,如有问题,欢迎留言或者私信交流。备注:opencv3.0以上版本没有用过,但是配置过程应该更简单,可以移步至这里浅墨大神的文档有详细的介绍)
配置分为前篇与后篇,前篇你可以粗略的看看,后篇则是一步步照着操作就好!
先放张测试用图,作为学图像处理的,写代码的,养眼很重要,都是美女图
旅途正是开始,前方道路崎岖,加油吧!少年
前篇
1.下载VS2008(10或以上版本)以及OpenCV SDK
1.1 VS2008的opencv安装
1.2.建立VS2008 OpenCV的第一个工程
然后点击 C/C++ ->general 在 additional include directories 选择刚刚上面所说的三个include路径(记住是三个)
新建一个空项目的控制台应用程序,新建一个cpp文件,然后粘贴如下代码:
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
//#pragma comment (lib, "vfw32.lib")
#ifdef _DEBUG
#pragma comment (lib, "e:\\study\\lib\\opencv_core2413d.lib")
#pragma comment (lib, "e:\\study\\lib\\opencv_highgui2413d.lib")
#pragma comment (lib, "e:\\study\\lib\\opencv_imgproc2413d.lib")
#else
#pragma comment (lib, "D:\\study\\lib\\opencv_core2413.lib")
#pragma comment (lib, "D:\\study\\lib\\opencv_highgui2413.lib")
#pragma comment (lib, "D:\\study\\lib\\opencv_imgproc2413.lib")
#endif
using namespace cv;
int main()
{
// 读入一张图片(美女)
Mat img=imread("girl.jpg");
// 创建一个名为 "美女壁纸"窗口
namedWindow("美女壁纸");
// 在窗口中显示美女
imshow("美女壁纸",img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
}
二、对应版本的配置方法,如VS2010+OpenCV2.4.9
【计算机】->【(右键)属性】->【高级系统设置】->【高级(标签)】->【环境变量】->“双击”系统变量中的PATH->在变量值里面添加相应的路径。如图:
”;…… opencv\build\x86\vc10\bin”(和之前的就有有的环境变量用英文的分号“;”进行分隔)
而对于64位系统,可以两个都添加上:
”;…… opencv\build\x86\vc10\bin”
和”…… opencv\build\x64\vc10\bin”,
这样,到时候才可以在编译器Win32和X64中来回切换都吃得开,游刃有余~
Property Manager 工作区中,点击项目->Debug|Win32->右键选择添加一个新的工程属性表
这里我们补充完整:vc8 = Visual Studio 2005,vc9 = Visual Studio 2008,vc10 = Visual Studio 2010,vc11 = Visual Studio 2012,vc12 = Visual Studio 2013。
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_objdetect249d.lib
opencv_ts249d.lib
opencv_video249d.lib
opencv_nonfree249d.lib
opencv_ocl249d.lib
opencv_photo249d.lib
opencv_stitching249d.lib
opencv_superres249d.lib
opencv_videostab249d.lib
opencv_objdetect249.lib
opencv_ts249.lib
opencv_video249.lib
opencv_nonfree249.lib
opencv_ocl249.lib
opencv_photo249.lib
opencv_stitching249.lib
opencv_superres249.lib
opencv_videostab249.lib
opencv_calib3d249.lib
opencv_contrib249.lib
opencv_core249.lib
opencv_features2d249.lib
opencv_flann249.lib
opencv_gpu249.lib
opencv_highgui249.lib
opencv_imgproc249.lib
opencv_legacy249.lib
把相关的dll都拷贝到Windows操作系统的目录下。如果你的Windows安装在C盘,那么路径就是c:\Windows\System32。按照之前我的OpenCV的存放环境,这些dll存放在
E:\opencv2_4_9\opencv\build\x86\vc10\bin目录下。
到这个目录下,【Alt+A】全选,【Alt+C】拷贝,然后转到c:\Windows\System32下面,【Alt+V】复制,简单粗暴地就完成了。
PS:对于Windows 8,则要放在要在SysWOW64文件夹中。
恩,环境配置大功告成,我们来测试一下成果吧~
3 最终的测试
#include<iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
// 读入一张图片(美女壁纸)
Mat img=imread("girl.jpg");
// 创建一个名为 "游戏原画"窗口
namedWindow("美女壁纸");
// 在窗口中显示美女壁纸
imshow("美女壁纸",img);
// 等待6000 ms后窗口自动关闭
waitKey(6000);
}
最终结果