【OpenCV第一篇】安装OpenCV
【OpenCV第一篇】安装OpenCV
本篇主要介绍如何下载OpenCV安装程序,如何在VS2008下安装配置OpenCV,文章最后还介绍了一个使用OpenCV的简单小例子。
《OpenCV入门指南》系列文章地址:http://blog.csdn.net/morewindows/article/category/1291764
可以到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。然后解压缩就完成了安装。安装过程如下图所示:
在“我的电脑”右击弹出“系统属性”对话框,选择“高级”再点击“环境变量”,然后再编辑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使用例子,功能也很简单——加载图像文件并显示出来。代码如下:
plaincopy
- //显示图像文件
 - #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
2.在指定窗口中显示图像 cvShowImage
const char* name, const CvArr* image );
3.等待按键事件 cvWaitKey
函数名称:cvWaitKey
函数功能:等待按键事件
第一个参数:延迟的毫秒数,当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
		
http://blog.csdn.net/morewindows/article/details/8225783/ win10下vs2015配置Opencv3.1.0过程详解(转) http://ww ...
 - OpenCV 第一课(安装与配置)
		
OpenCV 第一课(安装与配置) win10,opencv-2.4.13, 安装, vs2013, 配置 下载安装软件 官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然 ...
 - OPENCV第一篇
		
了解过之前老版本OpenCV的童鞋们都应该清楚,对于OpenCV1.0时代的基于 C 语言接口而建的图像存储格式IplImage*,如果在退出前忘记release掉的话,就会照成内存泄露.而且用起来超 ...
 - Opencv入门-第一回-梦牵机器视觉翼,初识Opencv域(安装Opencv)
		
各位看官,您是不是瞅着Opencv进来的?(你这不是废话吗>_>) 这Opencv(开源计算机视觉库)啊,说来话长,最初是上个世纪末(1999年)由Intel建立起来的.近十多年人工智能这 ...
 - 第一篇 -- 安装和配置PyQt5
		
我的电脑环境是:Win10 + Python3.6.4 + JetBrains PyCharm 2017.3.2 x64 之前用tkinter写界面,现在学习如何用PyQt5写界面. 安装PyQt5: ...
 - OpenResty 安装及使用(第一篇安装)
		
OpenResty搭建 1.openResty介绍 OpenResty (也称为 ngx_openresty)是一个全功能的 Web 应用服务器.它打包了标准的 Nginx 核心,很多的常用的第三方模 ...
 - Node 之 Express 学习笔记 第一篇 安装
		
最近由于工作不忙,正好闲暇时间学学基于 node 的 web开发框架. 现在关于web开发框架除了Express 还有新出的 KOA以及其它一些. 但是想想还是先从 Express 入手吧.因为比较成 ...
 - NODEJS环境搭建 第一篇 安装和部署NODEJS
		
一.下载安装文件 根据自己当前系统环境,下载相对应的安装文件 https://nodejs.org/en/download/ 二.双击安装 都傻瓜式的安装步骤,一步一步安装就好了. 三.检查安装结果 ...
 - Oracle学习第一篇—安装和简单语句
		
一 安装 10G ----不适合Win7 Visual Machine-++++Visual Hard Disk 先安装介质(VM)---便于删除 11G-----适合Win7 1 把win64_1 ...
 
随机推荐
- SVM多分类
			
http://www.matlabsky.com/thread-9471-1-1.htmlSVM算法最初是为二值分类问题设计的,当处理多类问题时,就需要构造合适的多类分类器.目前,构造SVM多类分类器 ...
 - 开发工具 之 PowerDesigner 应用积累
			
1.在默认情况下,code与name是联动,修改了name中的数据. 解决方法:设置菜单栏选择"Tools→General Options→Dialog" 中的 "Na ...
 - spring mvc 的各种参数的绑定方式
			
本文转自http://www.cnblogs.com/HD/p/4107674.html SpringMVC的各种参数绑定方式 1. 基本数据类型(以int为例,其他类似):Controller代码: ...
 - How to installation V145 Renault CAN Clip diagnostic software
			
Eobd2.fr has launched the new 2015 V145 Renault CAN Clip diagnostic tool (SP19-A and SP19-B). Here i ...
 - iOS UITableView的一些方法
			
项目中用到的一些tabview 问题及对应方法: 一.tableview 1.下划线左对齐 //步骤一:(加在 viewdidload方法中) if([tabView respondsToSelect ...
 - 【AR】Vuforia App key is missing.Please get a valid key
			
在跑Vuforia 的sample android app 的时候报了下面这个错,找了半天才找到解决方法: "Vuforia App key is missing. Please get a ...
 - 剑指Offer11 在O(1)内删除链表结点
			
/************************************************************************* > File Name: 11_Delete ...
 - 用pf透明地将流量从一台机器转到另一台机器上的缘起及实现方式对比
			
下面是也是我在12580工作时发生的事情,重新记录并发出来.这种特殊需求很考 验PF的功底.在新旧系统并存,做重构的时候有时很需要这种救急的作法.一.缘起miscweb1(172.16.88.228) ...
 - Person
			
using System;using System.Collections.Generic;using System.Linq;using System.Text; namespace PersonD ...
 - Ubuntu 15.04 配置VPN的方法详解
			
源 起 不久前因为要更新AndroidSDK 和查找相关资料, 但有些方式不能墙了, 所以为了节约时间成本, 购买了为期一个月的VPN, 对方发来邮件, 提供了二十几个服务器地址, 以及一套自动生成 ...