openCv2.3.1与vs2005

最近把电脑还原了,想提一下电脑的速度。所以要再重新安装程序,原先用的OpenCv2.0,现在在网上看到最新的是2.3.1.所以强烈的好奇心要用最新的。但是搜了好久网上的基本是vc2008和vs2010的。所以,无奈自己编译,研究。。。。。

把自己的安装过程分享一下,希望大家不会浪费这么多时间。好了,废话少说,开始配置。。。

下载OpenCV

  1. http://www.opencv.org.cn/index.php/Download 下载 OpenCV for Windows(也即 OpenCV-2.3.1-win-superpack.exe 文件)。
  2. 将 OpenCV-2.3.1-win-superpack.exe 解压并放到某个目录下,例如 c:\OpenCV2.3.1\opencv (无需运行setup.exe,解压则可)。解压后的目录结构如下图。

openCv2.3.1与vs2005

3 安装CMake

http://www.cmake.org/cmake/resources/software.html 下载 Windows (Win32 Installer) 安装。

4 编译OpenCV

1 用CMake导出VC++项目文件

  • 运行cmake-gui,设置where is the source code路径为OpenCV安装路径(本文档假定安装位置为:c:\OpenCV2.3.1\opencv),并创建子目录c:\OpenCV2.3.1\opencv\build\vs2005,并将cmake的"where to build the binaries"设置为这个目录。
  • 然后点 configure,在弹出的对话框内选择 Visual Studio8 2005。
  • 你可根据你的系统修改选项,修改后再次选择“Congfigure”,完成后选择“Generate”。

2编译 OpenCV Debug和Release版本库

完成上一步骤后,将在c:\OpenCV2.3.1\opencv\build\vs2005目录下生成OpenCV.sln的VC Solution File,请用vs2005打开OpenCV.sln,然后执行如下操作:

  • 在Debug下,选择Solution Explorer(解决方案资源管理器)里的 Solution OpenCV(解决方案“OpenCV”),点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。
  • 在Release下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择INSTALL项目,运行"Build"。

全部运行完毕后,针对你的系统的OpenCV库就生成了。

5 配置Vs2005

1 配置include路径

也即告诉Vs去什么地方寻找OpenCV的头文件,打开Vs,选择菜单“工具”->“选项”->“项目和解决方案”->“VC++目录”->“包含文件”,包含c:\OpenCV2.3.1\opencv\build\vs2005\install\include;c:\OpenCV2.3.1\opencv\build\vs2005\install\include\opencv;c:\OpenCV2.3.1\opencv\build\vs2005\install\include\opencv2.

如图

openCv2.3.1与vs2005

2配置lib路径

也即告诉VC去什么地方寻找OpenCV的库文件。

  • 自己编译的库,库目录为:c:\OpenCV2.3.1\opencv\build\vs2005\install\lib

如图

openCv2.3.1与vs2005

3设置环境变量

刚才设置的是动态库,因此还需要将OpenCV的dll文件所在的目录加入Path环境变量。dll文件目录如下,请根据自己情况五选一:

  • 自己编译的库,dll目录为:c:\OpenCV2.3.1\opencv\build\vs2005\install\bin

如下图所示将OpenCV和TBB的dll文件所在的目录系统环境变量Path中。加入后可能需要注销当前Windows用户(或重启)后重新登陆才生效。

openCv2.3.1与vs2005

使用OpenCV 2.3.1编程

1 打开vs2005新建一个win32程序,

2。输入以下程序,(需要将lena.jpg文件放在项目目录下,即与生成的.exe文件同位置)。

/***********************************************************************

OpenCV 2.3.1 测试例程 * 于仕琪 提供

***********************************************************************

/#include "stdafx.h"

#include <opencv2/opencv.hpp>

using namespace std;

using namespace cv;

int main(int argc,char* 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);//显示图像

waitKey();

return 0;

} //此函数等待按键,按键盘任意键就返回

3为项目配置增加[附加依赖项 Additional Dependencies]:

opencv_calib3d231.lib; opencv_contrib231.lib; opencv_core231.lib; opencv_features2d231.lib; opencv_flann231.lib; opencv_gpu231.lib; opencv_highgui231.lib; opencv_imgproc231.lib; opencv_legacy231.lib; opencv_ml231.lib; opencv_objdetect231.lib; opencv_ts231.lib; opencv_video231.lib (可根据实际需要删减)*

如图

openCv2.3.1与vs2005

接下来自己就可已编译了,看看结果吧!程序中的图片自己可以随便选,注意路径就行。

参考资料http://www.opencv.org.cn/index.php/VC_2008_Express%E4%B8%8B%E5%AE%89%E8%A3%85OpenCV2.3.1