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使用例子,功能也很简单——加载图像文件并显示出来。代码如下:

  1. //显示图像文件
  2. #include <opencv2/opencv.hpp>
  3. using namespace std;
  4. #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"")
  5. int main()
  6. {
  7. const char *pstrImageName = "冲浪大师赛001.jpg";
  8. const char *pstrWindowsTitle = "OpenCV第一个程序(http://blog.csdn.net/MoreWindows)";
  9. //从文件中读取图像
  10. IplImage *pImage = cvLoadImage(pstrImageName, CV_LOAD_IMAGE_UNCHANGED);
  11. //创建窗口
  12. cvNamedWindow(pstrWindowsTitle, CV_WINDOW_AUTOSIZE);
  13. //在指定窗口中显示图像
  14. cvShowImage(pstrWindowsTitle, pImage);
  15. //等待按键事件
  16. cvWaitKey();
  17. cvDestroyWindow(pstrWindowsTitle);
  18. cvReleaseImage(&pImage);
  19. return 0;
  20. }

对代码中的主要函数进行下讲解:

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入门指南目录,方便大家查看。

1.《【OpenCV入门指南】第一篇安装OpenCV

2.《【OpenCV入门指南】第二篇缩放图像

3.《【OpenCV入门指南】第三篇Canny边缘检测

4.《【OpenCV入门指南】第四篇图像的二值化

5.《【OpenCV入门指南】第五篇轮廓检测上

6.《【OpenCV入门指南】第六篇轮廓检测下

7.《【OpenCV入门指南】第七篇线段检测与圆检测

8.《【OpenCV入门指南】第八篇灰度直方图

9.《【OpenCV入门指南】第九篇灰度直方图均衡化

10.《【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的更多相关文章

  1. 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0 +VS 2013 开发环境配置

    图片太多,具体过程参照: [OpenCV入门教程之一] 安装OpenCV:OpenCV 3.0.OpenCV 2.4.8.OpenCV 2.4.9 +VS 开发环境配置 说下我这边的设置: 选择deb ...

  2. 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅墨 ...

  3. opencv入门指南(转载)

    转载链接:http://blog.csdn.net/morewindows/article/details/8426318 网上的总结的一些用openncv的库来做的事: 下面列出OpenCV入门指南 ...

  4. 【资料收集】OpenCV入门指南 系列文章

    <OpenCV入门指南>系列文章地址:http://blog.csdn.net/morewindows/article/category/1291764 目录: 第一篇  安装OpenCV ...

  5. OpenCV入门指南----人脸检测

    本篇介绍图像处理与模式识别中最热门的一个领域——人脸检测(人脸识别).人脸检测可以说是学术界的宠儿,在不少EI,SCI高级别论文都能看到它的身影.甚至很多高校学生的毕业设计都会涉及到人脸检测.当然人脸 ...

  6. 【转帖】Mysql多维数据仓库指南 第一篇 第1章

     Mysql多维数据仓库指南 第一篇基本原理 章节列表: 第1章:基本组成 第2章:维度历史 第3章:维度可加性 第4章:维度查询 本篇概述 你将运用关系数据库来实施一个维度数据仓库.事实表和维表这两 ...

  7. Entity Framework 6.0 入门系列 第一篇

    Entity Framework 6.0 入门系列 第一篇 好几年前接触过一些ef感觉不是很好用,废弃.但是 Entity Framework 6.0是经过几个版本优化过的产物,性能和功能不断完善,开 ...

  8. 图像识别opencv学习自修第一天【opencv的安装】

    1. 安装步骤 (1)安装python (2)安装xcode (3)使用macports现成包安装opencv (4)安装scipy 2. 安装实战 (1)已经安装好了python,并安装好了virt ...

  9. Opencv学习笔记1:安装opencv和VS2015并进行环境配置

    用了Opencv一段时间了,简单记录一下opencv在vs2015下的配置. 第一部分:OpenCV3.2.0的下载 OpenCV官方下载地址: https://opencv.org/releases ...

随机推荐

  1. P1533 可怜的狗狗

    http://www.luogu.org/problem/show?pid=1533 题目背景 小卡由于公务需要出差,将新家中的狗狗们托付给朋友嘉嘉,但是嘉嘉是一个很懒的人,他才没那么多时间帮小卡喂狗 ...

  2. placeholder 解决UITextField中placeholder和text文本同时显示的问题

    TextField都使用了placeholder属性,但在代码中又设置了text属性,因此ViewController会同时显示placeholder文本和text文本. 这个问题让我彻底崩溃.按道理 ...

  3. sysbench 0.5 oltp测试笔记

    sysbench 0.5相比0.4版本的主要变化是,oltp测试结合了lua脚本,不需要修改源码,通过自定义lua脚本就可以实现不同业务类型的测试.同时0.5相比0.4需要消耗更多的cpu资源. 1. ...

  4. about_Execution_Policies

    https://technet.microsoft.com/en-us/library/hh847748.aspx?f=255&MSPPError=-2147217396 在powershel ...

  5. HTTP Status 404–/webDemo/hello

    现在用一排很小的字写出来,我真是个大傻逼

  6. 读Effective Java笔记之one:static Factory methods instead of Constructors (静态工厂方与构造器)

    获取类的实例的方法有很多种,在这很多种方法中,它们各有优缺,各有特点.这里,只介绍2中方法 1.使用构造方法 public class Person { private String sex; /** ...

  7. Maven生命周期(插件)

    maven拥有三套相互独立的生命周期,它们分别是clean,default和site.clean生命周期的目的是清理项目,default生命周期的目的是构建项目,而site 生命周期的目的是建立项目站 ...

  8. opencv 61篇

    (一)--安装配置.第一个程序 标签: imagebuildincludeinputpathcmd 2011-10-21 16:16 41132人阅读 评论(50) 收藏 举报  分类: OpenCV ...

  9. SQLserver批量删除空表

    今天需要清理一个很大的数据库,里面表有一堆,而且有很多是空表.想着把数据库弄小点,于是想到一次性删掉所有空表. 废话不多说,上代码. 首先,查处所有的空表. select distinct a.nam ...

  10. poj1375Intervals(点到圆的切线)

    链接 貌似这样的叫解析几何 重点如何求得过光源到圆的切线与地板的交点x坐标,可以通过角度及距离来算,如图, 根据距离和半径可以求得角度a.b.r,自然也可以求得d1,d2. 至于方向问题,在求r得时候 ...