windows下安装opencv
opencv(open source computer vision library)是一个基于C/C++语言的开源图像函数处理库。
它的主要模块包括:
- cv —— 核心函数库
- cvaux —— 辅助函数库
- cxcore —— 数据结构与线性代数库
- highgui —— GUI函数库
- 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; }
图片为:
大家可以尝试运行。
刚看了打松鼠的 ppt,乐崩了
其中用到了OpenCV的,写代码打松鼠神马的才叫生活- -
我安装的是 vs2010和opencv2.20 安装步骤跟你的一模一样 但是执行代码的时候 就会报错
LINK : fatal error LNK1104: 无法打开文件“opencv_core220d.dll”
这个 错误 请问这个应该怎么解决
路径有没有问题?
我的问题解决了
我在LINKER 后面 添加了 所有的 .lib 就可以
还是很感谢您的 安装步骤 很给力
不客气,共同学习:-)
无法打开包括文件:“highgui.h”: No such file or directory
非常感谢您的安装步骤,对我这样的初学者的帮助很大。
一路坐下来,最后出现了这个问题,不知怎么解决,求您给分析一下,谢谢。
现在上一个问题弄好了,我在CMake里把原先发红的项弄弄成不发红的了。也不出现打不开“highgui.h”的问题了。
但是现在无法识别cv这个命名空间了。麻烦您给分析一下。
http://www.cnblogs.com/freedomshe/archive/2012/04/25/2470540.html
我按照这个网址弄的,好了,可能是叠加效果吧,我不敢保证是不是只做他的不按您的做就可以了(我指的是略过CMake那部分)。
我安装的版本比他高一些,就把240改为243了。
博主,你是我见过写技术文章最走心的,支持
给作者留言
关于作者
残阳似血(@秦续业),程序猿一枚,把梦想揣进口袋的挨踢工作者。现加入阿里云,研究僧毕业于上海交通大学软件学院ADC实验室。熟悉分布式数据分析(DataFrame并行化框架)、基于图模型的分布式数据库和并行计算、Dpark/Spark以及Python web开发(Django、tornado)等。
博客分类
搜索
点击排行
标签云
扫描访问
主题
残阳似血的微博
登录