Visual studio 2010 上搭建opencv2.3.1

来源:互联网 发布:容易流前列腺液 知乎 编辑:程序博客网 时间:2024/04/30 18:46

opencv(open source computer vision library)是一个基于C/C++语言的开源图像函数处理库。

它的主要模块包括:

  • cv —— 核心函数库
  • cvaux —— 辅助函数库
  • cxcore —— 数据结构与线性代数库
  • highgui —— GUI函数库
  • ml —— 机器学习函数库

opencv是跨平台的,支持包括windows、unix以及android等平台。下图是英文wiki上一张关于opencv概述的图。关于opencv的一系列功能以及特性,本文不再赘述,如果要了解,请移步至opencv的中文站点介绍。

opencv overview

本文将会讲解在wndows上如何使用VS2010安装opencv2.3.1,,并以一个简单的程序作为结束。

源码安装的步骤。首先是编译。

第一步是用CMake导出VC++项目文件。

  • 首先需要下载CMake(下载地址)。
  • 安装完成后,打开cmake-gui,设置路径为OpenCV安装路径(本文档假定安装位置为:D:\opencv,即下载的压缩包解压地址),并创建子目录D:\opencv\vs2010,用于存放编译结果。
  • 然后点 configure,在弹出的对话框内选择 Visual Studio 10(这里根据你的visual studio的版本确定,vs2010对应的是10,而2008对应的9)。完成后选择“Generate”。 

导出完成后,转到项目文件(本例在D:\opencv\vs2010下),打开OpenCV.sln文件。分别在debug和release下编译。

完成后就是配置环境变量了。将“D:\opencv\vs2010\bin”添加至windows系统环境变量path中。最后分别把D:\opencv\vs2010\bin\Debug 和D:\opencv\vs2010\bin\Release 下面的dll文件拷贝到D:\opencv\vs2010\bin 。

以上这部分可以参考中文安装文档。

最后,我们需要配置visual studio的开发环境。

对于vs2010,Tools -> Options -> Projects and Solutions -> VC++ Directories 这个编辑功能已经被否决。这时候随便打开一个项目。接着打开view-->属性管理器(property manager)。接着项目-->Debug | Win32 --> Microsoft.Cpp.Win32.user,右击属性。在“vc++目录”做以上修改。
  • Show directories for选择executable files,加入目录 D:\opencv\vs2010\bin
  • Show directories for选择include files,加入目录 D:\opencv\build\include,和D:\opencv\include\opencv
  • Show directories for选择library files,加入目录D:\opencv\vs2010\lib

最后我们以一个打开图片的程序为结尾。

  • 打开VS2010,创建一个Win32控制台程序opencv_test。源文件右键-->添加-->新建项-->C++文件。
  • 选择Solution Explorer(解决方案)里的opencv_test项目,点击鼠标右键,选择Properties,在[链接器 LINKER]的[输入INPUT]中
    为项目的Debug配置增加 [依赖的库 Additional Dependencies]:D:\opencv\vs2010\lib\Debug\opencv_core231d.lib
    D:\opencv\vs2010\lib\Debug\opencv_highgui231d.lib
    D:\opencv\vs2010\lib\Debug\opencv_imgproc231d.lib
    为项目的Release配置增加[依赖的库 Additional Dependencies]:D:\opencv\vs2010\lib\Release\opencv_core231.lib
    D:\opencv\vs2010\lib\Release\opencv_highgui231.lib
    D:\opencv\vs2010\lib\Release\opencv_imgproc231.lib

如果需要其他的库,可以继续添加。


#include "stdafx.h"

#include "highgui.h"
  
//所有的以新风格命名的函数都在 cv 命名空间中
//如果希望不要每次都输入 cv:: ,则可使用下面语句
//using namespace cv;
  
int _tmain(int argc, _TCHAR* argv[])
{
  
    constchar* imagename ="lam.jpg";
  
    cv::Mat img = cv::imread(imagename);// Matlab风格的 cvLoadImage 函数的另一种调用
    if(img.empty())
    {
        fprintf(stderr,"Can not load image %s\n", imagename);
        return-1;
    }
  
    if( !img.data )// 检查是否正确载入图像
        return-1;
  
    cv::namedWindow("image", CV_WINDOW_AUTOSIZE);//创建窗口
    cv::imshow("image", img);//显示图像
  
    cv::waitKey();// 等待键盘事件退出
  
    return0;
}

参考链接:http://qinxuye.me/article/install-opencv-in-windows/

http://blog.csdn.net/moc062066/article/details/6676117

原创粉丝点击