vs2008安装配置opencv【转载】

来源:互联网 发布:淘宝店被降权了怎么办 编辑:程序博客网 时间:2024/06/06 03:33

来源:http://blog.csdn.net/zhangyouzhuo/archive/2010/12/04/6054106.aspx

http://ailiuzhumei.blog.163.com/blog/static/1110909201091304835938/

安装所需要的软件

安装VC++ 2008

安装OpenCV(从 http://www.opencv.org.cn/index.php/Download 下载OpenCV 2.0,并安装,本文档假定安装目录

为:D:/Program Files/OpenCV2.0)


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

具体步骤:


1.运行cmake-gui,设置路径为OpenCV安装路径(本文档假定安装位置为:D:/Program Files/OpenCV2.0),并创建子目录


D:/Program Files/OpenCV2.0/vc2008,用于存放编译结果


设置opencv来源,新建文件夹vc2008,用于生成存放相关文件


2.然后点 configure,在弹出的对话框内选择 Visual Studio 9 2008


3.选择“Congfigure”,完成后选择“Generate”,如下图


如图

编译 OpenCV Debug和Release版本库

成上一步骤后,将在D:/Program Files/OpenCV2.0/vc2008目录下生成OpenCV.sln的VC Solution File,请用


VC++ 2008 Express打开OpenCV.sln,然后执行如下操作:


1.在Debug下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译无错误,再选择


INSTALL项目,运行"Build"


如图

如图

2.在Release下,选择Solution Explorer里的 Solution OpenCV,点右键,运行"Rebuild Solution";如编译


无错误,再选择INSTALL项目,运行"Build"。

配置Windows环境变量Path

将D:/Program Files/OpenCV2.0/vc2008/bin加入Windows系统环境变量Path中

为VC++ 2008 Express配置OpenCV环境

打开VC++ 2008 Express,菜单 Tools -> Options -> Projects and Solutions -> VC++ Directories


1.Show directories for选择include files,加入目录 D:/Program Files/OpenCV2.0/vc2008/include/opencv


2.Show directories for选择library files,加入目录 D:/Program Files/OpenCV2.0/vc2008/lib

使用OpenCV 2.0编程

1.打开VC++ 2008 Express,创建一个Win32控制台程序opencvhello;


2.选择Solution Explorer里的opencvhello项目,点击鼠标右键,选择Properties,在[链接器 LINKER]的[输入INPUT]中;


3.为项目的Debug配置增加依赖的库:cxcore200d.lib cv200d.lib highgui200d.lib(注意,文件名cv200d.lib 可能

是cv***d.lib等形式,具体应查看D:/Program Files/OpenCV2.0/vc2008/lib )


4.为项目的Release配置增加依赖的库:cxcore200.lib cv200.lib highgui200.lib


5.配置属性-字符集修改为使用“多字节字符集” (由于2008默认是以Unicode字符集编译的)


6.编译运行下面的例程(需要将lena.jpg文件放在项目目录下)


 

view plaincopy to clipboardprint?
  1. #include "stdafx.h"  
  2. #include "highgui.h"  
  3.    
  4. //所有的以新风格命名的函数都在 cv 命名空间中  
  5. //如果希望不要每次都输入 cv:: ,则可使用下面语句  
  6. //using namespace cv;  
  7.    
  8. int _tmain(int argc, _TCHAR* argv[])  
  9. {  
  10.    
  11.     const char* imagename = "lena.jpg";  
  12.    
  13.     cv::Mat img = cv::imread(imagename); // Matlab风格的 cvLoadImage 函数的另一种调用  
  14.     if(img.empty())  
  15.     {  
  16.         fprintf(stderr, "Can not load image %s/n", imagename);  
  17.         return -1;  
  18.     }  
  19.    
  20.     if( !img.data ) // 检查是否正确载入图像  
  21.         return -1;  
  22.    
  23.     cv::namedWindow("image", CV_WINDOW_AUTOSIZE); //创建窗口  
  24.     cv::imshow("image", img); //显示图像  
  25.    
  26.     cv::waitKey();  
  27.    
  28.     return 0;  
  29. }  
 

 

PS:



Win7 下使用opencv2.1 VC++2008时 该程序中加载图像时要写完整路径,不然加载不了。 例如:

   const char* imagename = "lena.jpg";

需要修改为

   const char* imagename = "D://lena.jpg";
  特别注意:多层文件夹下要加"//";
  比如我新建的一个项目,把图片放在该工程所在文件夹下,就要加两个“/”;
  路径如下:D://Visual Studio 2008//Projects//opencv1//图片名字.jpg;
  不然每个“/”后面的第一个字母就会被识别为“不可识别的字符转义序列”,
  虽然能编译成功,但是无法显示出图片
  另外,每新建一个项目,貌似都需要添加所需的依赖的那六个库,以及修改项目的配置属性。
  vs2010配置opencv不大好弄,所以大家将就用着2008吧。

在重新生成解决方案的步骤里,编译1个错误和一百多个警告,错误信息为“error PRJ0019: A tool returned an error code from "Generating generated0.i" cvpy”,因为软件是别人安装正确过的,所以出现这个错误百思不得其解,在网上查了很久,后来又仔细看错误源“cvpy”这个文件,才终于明白是Python接口的问题。因为其他人报的错误信息是“无法找到Python2.6_d.lib”,因此我一开始没有往这方面想,我用不到Python语言,因此在不应该选择全部编译。

         解决方法是,在CMaker中不选择“BUILD_NEW_PYTHON_SUPPORT”,重新Configure和Generate,编译就可以成功了。


原创粉丝点击