windows下安装opencv

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安装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++目录”做以上修改。

opencv install config

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

  • 打开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;
}

图片为:

lam.jpg

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值