要想学好OpenCV,首先当然要知道怎么配置环境了。
本人系统软件硬件环境如下:
以本人的配置环境为例,配置步骤如下。
第一步 下载及解压OpenCV源码
虽然很多第三方网站及一些学习论坛会提供OpenCV的源码下载,但是还是推荐到官网进行下载,这样可以避免很多麻烦!(病毒?木马?你懂得!)
官网的下载地址如下:
http://opencv.org/downloads.html
在此地址的界面上可以找到最新版本的OpenCV源码。我使用的是2014-04-25更新的2.4.9版本(目前最新),根据自己的系统选择对应的源码版本。
因为我的电脑是WIN7x64Bit的,所以选择“OpenCV for Windows”这个链接下载。
下载完成后,就可以见到这个exe的代码解压缩程序了
双击进入解压程序,选择解压目录,此处选择的是G盘
点击“Extract”按钮,程序就会自动将OpenCV的源代码解压到G的“opencv”目录下(这个目录是自己生成的,不需要在释放程序里写出来!)。
在“G:\opencv”目录下,我们可以看到有“build”文件夹及“source”两个文件夹。
第二步 配置OpenCV系统变量路径
在安装完OpenCV的源代码之后,就要开始配置OpenCV的系统路径了。
在开始菜单的“计算机”上点击右键选择“属性”,在弹出的界面左侧点击“高级系统设置”,然后在“系统属性”对话框中选择“高级”选项卡
点击“环境变量”按钮
在弹出来的“环境变量”对话框下方的“系统变量”区,找到“Path”选项,然后双击
在弹出来的“编辑系统变量”对话框中,在“变量值”这一栏添加(注意是添加,就是在这一栏的最后使用分号隔开后添加)“G:\opencv\build\x86\vc10\bin;”及“G:\opencv\build\x64\vc10\bin;”(如果是32位系统,就可以不用后面这个)。
至此,OpenCV的系统变量的路径配置完毕。
第三步 VS2010环境配置
打开Visual Studio 2010,新建一个Visual C++项目,选择“Win32控制台应用程序”,名字“HelloOpenCV”,位置随意,然后点击确定。
在弹出来的“Win32应用程序向导”对话框中 点击 “下一步”
在接下来界面的“附加选项”中,勾选“空项目”,然后点击“完成”。
在“HelloOpenCV”的项目工程界面中,点击菜单栏的“视图”,选择“其他窗口”,点击“属性管理器”。
在弹出来的“属性管理器”中找到“Debug | Win32”文件夹展开,双击“Microsoft.Cpp.Win32.user”选项。
在接下来的“Microsoft.Cpp.Win32.user”属性页中找到“通用属性”下的“VC++目录”选项,在其右侧的“包括目录”中,点击“编辑”。
在弹出的“包含目录”对话框中,新建3个包含目录路径:
1. G:\opencv\build\include
2. G:\opencv\build\include\opencv
3. G:\opencv\build\include\opencv2
点击“确定”。
然后如法炮制,在“库目录”中添加OpenCV静态库的目录路径。
不管是不是64位系统,此处只需要添加“G:\opencv\build\x86\vc10\lib”就可以了,没必要添加“G:\opencv\build\x64\vc10\lib”,除非你用的编译器是64位的。
接下来配置动态链接库
在Microsoft.Cpp.Win32.user”属性页中点击“链接器”中的“输入选项”,点击小箭头,选择“编辑”。
在弹出的“附加依赖项”对话框中添加以下路径:
opencv_ml249d.lib
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
opencv_ml249.lib
这其中,蓝色的是调试模式下的库文件,可以看出其名称后面都带一个“d”(代表debug),红色的是release模式下的库文件,都不带“d”后缀的。
一般我们在这里把带d和不带d的统统写在这里,因为以后创建所有工程时都会继承这些公共属性,以后也就不用每个工程都配置一番,省时省力。
第四步 工程测试
在经历完以上步骤后,最好重启一下系统,让我们的一些配置生效,以避免接下来的测试出错。
在我们创建的“HelloOpenCV”工程的“解决方案资源管理器”中,右键点击“源文件”添加一个新建项。
在“添加新项”对话框中选择添加一个“C++文件(.cpp)”文件,命名为“main”,点击“添加”。
在main.cpp文件中添加如下代码:
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
using namespace cv;
int main()
{
// 读入一张图片
Mat myImg=imread("test.jpg");
// 创建一个名为 "HelloOpenCV"的窗口
namedWindow("HelloOpenCV");
// 显示窗口
imshow("HelloOpenCV",myImg);
// 等待10s后窗口关闭
waitKey(10000);
}
百度一张图片,改名为“test.jpg”,放入工程文件目录,然后编译,编译通过后,点击调试。
效果如下:
至此,所有配置完成并测试通过。接下来,开始享受OpenCV这道大餐吧!