【OpenCV入门指南】第一篇 安装OpenCV
http://blog.csdn.net/morewindows/article/details/8225783/
win10下vs2015配置Opencv3.1.0过程详解(转)
http://www.cnblogs.com/zangdalei/p/5339316.html
【OpenCV第一篇】安装OpenCV
本篇主要介绍如何下载OpenCV安装程序,如何在VS2008下安装配置OpenCV,文章最后还介绍了一个使用OpenCV的简单小例子。
《OpenCV入门指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/1291764
一.OpenCV的下载
可以到http://www.opencv.org.cn/index.php/Download,然后选一个较新版本下载。我下的是V2.3.1版本,下载地址是:
http://www.opencv.org.cn/download/OpenCV-2.3.1-win-superpack.exe
下载完成后,双击运行exe,选择输出目录,我选择的是D:\opencv。然后解压缩就完成了安装。安装过程如下图所示:
二.在我的电脑中配置OpenCV
在“我的电脑”右击弹出“系统属性”对话框,选择“高级”再点击“环境变量”,然后再编辑path,在“编辑用户变量”对话框的变量值输入以下三条,注意用“;”来分开。
D:\opencv\opencv\build\x86\vc9\bin;
D:\opencv\opencv\build\x86\mingw\bin;
D:\opencv\opencv\build\common\tbb\ia32\vc9;
三.在VS2008中加入OpenCV
在VS2008中点击“工具”,再点击“选项”,然后选择“项目和解决方案”,手动加入库文件,引用文件和包含文件即可完成OpenCV在VS2008的导入。
四.第一个OpenCV程序
下面是最简单的OpenCV使用例子,功能也很简单——加载图像文件并显示出来。代码如下:
- //显示图像文件
- #include <opencv2/opencv.hpp>
- using namespace std;
- #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
- int main()
- {
- const char *pstrImageName = "冲浪大师赛001.jpg";
- const char *pstrWindowsTitle = "OpenCV第一个程序(http://blog.csdn.net/MoreWindows)";
- //从文件中读取图像
- IplImage *pImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);
- //创建窗口
- cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);
- //在指定窗口中显示图像
- cvShowImage(pstrWindowsTitle, pImage);
- //等待按键事件
- cvWaitKey();
- cvDestroyWindow(pstrWindowsTitle);
- cvReleaseImage(&pImage);
- return 0;
- }
对代码中的主要函数进行下讲解:
1.创建窗口 cvNamedWindow
函数名称:cvNamedWindow
函数功能:创建窗口
函数原型:
int cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE );
参数说明:
第一个参数表示窗口的名字,它被用来区分不同的窗口,并被显示为窗口标题。被创建的窗口可以通过它们的名字被引用。
第二个参数表示窗口属性标志。目前唯一支持的标志是CV_WINDOW_AUTOSIZE。当这个标志被设置后,用户不能手动改变窗口大小,窗口大小会自动调整以适合被显示图像。
函数cvNamedWindow创建一个可以放置图像和trackbar的窗口。
注意:
如果已经存在这个名字的窗口,这个函数将不做任何事情。
2.在指定窗口中显示图像 cvShowImage
函数名称:cvShowImage
函数功能:在指定窗口中显示图像
函数原型:
void cvShowImage( const char* name, const CvArr* image );
参数说明:
第一个参数:窗口的名字。
第二个参数:被显示的图像。
3.等待按键事件 cvWaitKey
函数名称:cvWaitKey
函数功能:等待按键事件
函数原型:
int cvWaitKey( int delay=0 );
参数说明:
第一个参数:延迟的毫秒数,当delay<=0时表示无限等待。
函数返回值:
如果超过指定时间则返回-1,否则返回被按键的值。
编译,居然出错了!!错误信息如下:
1>正在链接...
1>opencv_test1.obj : error LNK2019: 无法解析的外部符号_cvReleaseImage,该符号在函数_main 中被引用
1>opencv_test1.obj : error LNK2019: 无法解析的外部符号_cvDestroyWindow,该符号在函数_main 中被引用
1>opencv_test1.obj : error LNK2019: 无法解析的外部符号_cvWaitKey,该符号在函数_main 中被引用
1>opencv_test1.obj : error LNK2019: 无法解析的外部符号_cvShowImage,该符号在函数_main 中被引用
1>opencv_test1.obj : error LNK2019: 无法解析的外部符号_cvNamedWindow,该符号在函数_main 中被引用
1>opencv_test1.obj : error LNK2019: 无法解析的外部符号_cvLoadImage,该符号在函数_main 中被引用
现在如何解决这个问题了?既然是在链接时出的错,说明肯定有静态库没有被编译器找到。因此我们在VS2008中点击“项目”,再点击“属性”,依次展开“配置属性”-->“链接器”-->“输入”在“附加依赖项中”添加如下静态文件。
opencv_calib3d231d.lib opencv_contrib231d.lib opencv_core231d.lib opencv_features2d231d.lib opencv_flann231d.lib opencv_gpu231d.lib opencv_highgui231d.lib opencv_imgproc231d.lib opencv_legacy231d.lib opencv_ml231d.lib opencv_objdetect231d.lib opencv_ts231d.lib opencv_video231d.lib
再编译,成功。程序运行结果如下图所示:
呵呵,很酷的冲浪~~
下面列出OpenCV入门指南目录,方便大家查看。
11.《【OpenCV入门指南】第十一篇鼠标绘图》
12.《【OpenCV入门指南】第十二篇无法运行OpenCV程序?》
13.《【OpenCV入门指南】第十三篇人脸识别》
14.《【OpenCV入门指南】第十四篇 Haartraining》即将发布
转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/8225783
《OpenCV入门指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/1291764
【OpenCV入门指南】第一篇 安装OpenCV的更多相关文章
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0 +VS 2013 开发环境配置
图片太多,具体过程参照: [OpenCV入门教程之一] 安装OpenCV:OpenCV 3.0.OpenCV 2.4.8.OpenCV 2.4.9 +VS 开发环境配置 说下我这边的设置: 选择deb ...
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨 ...
- opencv入门指南(转载)
转载链接:http://blog.csdn.net/morewindows/article/details/8426318 网上的总结的一些用openncv的库来做的事: 下面列出OpenCV入门指南 ...
- 【资料收集】OpenCV入门指南 系列文章
<OpenCV入门指南>系列文章地址:http://blog.csdn.net/morewindows/article/category/1291764 目录: 第一篇 安装OpenCV ...
- OpenCV入门指南----人脸检测
本篇介绍图像处理与模式识别中最热门的一个领域——人脸检测(人脸识别).人脸检测可以说是学术界的宠儿,在不少EI,SCI高级别论文都能看到它的身影.甚至很多高校学生的毕业设计都会涉及到人脸检测.当然人脸 ...
- 【转帖】Mysql多维数据仓库指南 第一篇 第1章
Mysql多维数据仓库指南 第一篇基本原理 章节列表: 第1章:基本组成 第2章:维度历史 第3章:维度可加性 第4章:维度查询 本篇概述 你将运用关系数据库来实施一个维度数据仓库.事实表和维表这两 ...
- Entity Framework 6.0 入门系列 第一篇
Entity Framework 6.0 入门系列 第一篇 好几年前接触过一些ef感觉不是很好用,废弃.但是 Entity Framework 6.0是经过几个版本优化过的产物,性能和功能不断完善,开 ...
- 图像识别opencv学习自修第一天【opencv的安装】
1. 安装步骤 (1)安装python (2)安装xcode (3)使用macports现成包安装opencv (4)安装scipy 2. 安装实战 (1)已经安装好了python,并安装好了virt ...
- Opencv学习笔记1:安装opencv和VS2015并进行环境配置
用了Opencv一段时间了,简单记录一下opencv在vs2015下的配置. 第一部分:OpenCV3.2.0的下载 OpenCV官方下载地址: https://opencv.org/releases ...
随机推荐
- linux(centos6.5 i386)安装mysql5.6源码包
在开始安装前,先说明一下mysql-5.6.4与较低的版本在安装上的区别,从mysql-5.5起,mysql源码安装开始使用cmake了,因此当我们配置安装目录./configure --perfix ...
- Xcode的Architectures和Valid Architectures的区别,
登录 | 注册 ys410900345的专栏 目录视图摘要视图订阅 学院APP首次下载,可得50C币! 欢迎来帮助开源“进步” 当讲师?爱学习?投票攒课吧 CSDN 2015博 ...
- stm32中断服务函数
你打开stm32的启动文件,例如startup_stm32f10x_hd.s 里面有很多中断跳转的入口.用白话说就是固件库帮你写好了发生什么中断时跳转到哪里,这些名字是一个函数名,你要把这些函数写出来 ...
- Duilib 鼠标在某控件例如按钮上悬停后,对目标控件操作
其实对WM_MOUSEHOVER消息的处理,因为WindowImplBase基类中对此消息未处理,所以在自己的窗口类中实现: .h文件中加入 LRESULT OnMouseHover( UINT uM ...
- PHP判断用户设备是否是移动设备
摘自http://www.oschina.net/code/snippet_1432190_46913 <?php function isMobile() { // 如果有HTTP_X_WA ...
- Android 网格布局短信发送界面
<?xml version="1.0" encoding="utf-8"?> <GridLayout xmlns:android=" ...
- missing sdkl in .NET Core 1.0.1 - VS 2015 Tooling Preview 2
打开项目的时候,提示缺少sdk 在C:\Program Files\dotnet\sdk找不到对应的版本 解决方法: https://github.com/aspnet/Tooling/blob/ma ...
- Common Macros for Build Commands and Properties
https://msdn.microsoft.com/en-us/library/c02as0cs.aspx $(ProjectDir) The directory of the proje ...
- [CF733D]Kostya the Sculptor(贪心)
题目链接:http://codeforces.com/contest/733/problem/D 题意:给n个长方体,允许最多两个拼在一起,拼接的面必须长宽相等.问想获得最大的内切圆的长方体序号是多少 ...
- CUBRID学习笔记 27 数据类型4
范围比较 数字和字符串比较 字符串被转为double SELECT i FROM t WHERE i <= all {'11','12'}; i ============= 1 2 3 4 字符 ...