添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • ml —— 机器学习函数库
  • opencv是跨平台的,支持包括windows、unix以及android等平台。下图是 英文wiki 上一张关于opencv概述的图。关于opencv的一系列功能以及特性,本文不再赘述,如果要了解,请移步至 opencv的中文站点介绍

    本文将会讲解在wndows上如何使用VS2010安装opencv,并以一个简单的程序作为结束。opencv在近期推出了2.3版本,不过本文仍然以2.2版本为例。其他安装请参考 中文安装页面

    安装方式有两种选择:

  • 直接下载 OpenCV-2.2.0-win32-vs2010.exe文件。可以在 这页 找到下载。这种方式很傻瓜,直接双击安装即可。安装过程中勾选“Add OpenCV to system PATH for all users”选项。(当然也可以安装完毕添加,在环境变量path中添加“<安装路径>/opencv/bin/”)
  • 另外一种是源码安装(压缩包地址也 可以在 这里 找到 )。如果你想用IPP、CUDA或者Qt自定义安装opencv,你就需要从源码安装。
  • 下面着重说一下源码安装的步骤。首先是编译。

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

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

    完成后就是配置环境变量了。将“C:\OpenCV2.2\vs2010\bin”添加至windows系统环境变量path中。

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

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

    对于vs2008或者以下版本。选择 Tools -> Options -> Projects and Solutions -> VC++ Directories(中文版为:工具 --> 选项 --> 项目和解决方案  --> vc++目录)。

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

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

  • 打开VS2010,创建一个Win32控制台程序opencvhello。
  • 选择Solution Explorer(解决方案)里的opencvhello项目,点击鼠标右键,选择Properties, 在[链接器 LINKER]的[输入INPUT]中
    为项目的Debug配置增加 [依赖的库 Additional Dependencies] :opencv_core220d.dll、opencv_highgui220d.lib和opencv_imgproc220d.lib
    (注意,文件名opencv_core220d.dll 可能是opencv_***d.lib等形式,具体应查看C:\OpenCV2.2\vc2010\lib。如果使用的是OpenCV2.1,应输入:opencv_core210d.lib、opencv_highgui210d.lib和opencv_imgproc210d.lib )
    为项目的Release配置增加[依赖的库 Additional Dependencies] :opencv_core220.dll、opencv_highgui220.lib和opencv_imgproc220.lib (注意:如果使用的是OpenCV2.1,应输入:opencv_core210.lib、opencv_highgui210.lib和opencv_imgproc210.lib)
    在 [配置属性 Configuration Properties]- [General] -[字符集 Character Set] 修改为使用“多字节字符集” (由于2008默认是以Unicode字符集编译的)
  • 编译运行下面的例程(就以我以前文章经常用的例子中的图片,主要要将lam.jpg文件放在项目目录下)。
  • /***********************************************************************
     * OpenCV 2.0 测试例程
     ***********************************************************************/
    #include "stdafx.h"
    #include "highgui.h"
    //所有的以新风格命名的函数都在 cv 命名空间中
    //如果希望不要每次都输入 cv:: ,则可使用下面语句
    //using namespace cv;
    int _tmain(int argc, _TCHAR* argv[])
        const char* 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(); // 等待键盘事件退出
        return 0;
    

    大家可以尝试运行。

    残阳似血(@秦续业),程序猿一枚,把梦想揣进口袋的挨踢工作者。现加入阿里云,研究僧毕业于上海交通大学软件学院ADC实验室。熟悉分布式数据分析(DataFrame并行化框架)、基于图模型的分布式数据库和并行计算、Dpark/Spark以及Python web开发(Django、tornado)等。