【OpenCV入门指南】第一篇 安装OpenCV
转自:http://blog.csdn.net/morewindows/article/details/8225783/
【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入门指南目录,方便大家查看。
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相关推荐
- 【转】【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅 ...
- 【OpenCV入门教程之一】 安装OpenCV:OpenCV 3.0、OpenCV 2.4.8、OpenCV 2.4.9 +VS 开发环境配置
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/19809337 作者:毛星云(浅 ...
- 【OpenCV入门教程之一】 安装OpenCV OpenCV 3 0 OpenCV 2 4 8 OpenCV 2 4 9
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列 ...
- 【OpenCV入门教程之一】 安装OpenCV
知乎:http://www.zhihu.com/people/mao-xing-yun 写作当前博文时配套使用的OpenCV版本: 2.4.8.24.9.3.0 ( 2014年4月28更新OpenCV ...
- 【OpenCV入门指南】第十三篇 人脸检测
原文出处:http://blog.csdn.net/MoreWindows/article/details/8426318#t2 本篇介绍图像处理与模式识别中最热门的一个领域--人脸检测(人脸识别). ...
- 【OpenCV入门指南】第五篇 轮廓检测 上
<[OpenCV入门指南]第三篇Canny边缘检测>中介绍了边缘检测,本篇介绍轮廓检测,轮廓检测的原理通俗的说就是掏空内部点,比如原图中有3*3的矩形点.那么就可以将中间的那一点去掉. 在 ...
- 【OpenCV入门指南】第九篇 灰度直方图均衡化
<OpenCV入门指南>系列文章地址: http://blog.csdn.net/morewindows/article/category/1291764 转载请标明出处,原文地址:htt ...
- 【OpenCV入门指南】第十篇 彩色直方图均衡化
上一篇<OpenCV第十篇灰度直方图均衡化>介绍了灰度图像的直方图均衡化,实际生活中,肯定还是彩色图像用的最多,因此本篇介绍对彩色图像进行直方图均衡化.这样可以让大家直方图均衡化对图像增强 ...
- 【OpenCV入门指南】第五篇轮廓检测 下
上一篇<[OpenCV入门指南]第五篇轮廓检测上>介绍了cvFindContours函数和cvDrawContours函数,并作了一个简单的使用示范.本篇将展示一个实例,让大家对轮廓检测有 ...
- 【OpenCV入门教程之十三】OpenCV图像金字塔:高斯金字塔、拉普拉斯金字塔与图片尺寸缩放
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/26157633 作者:毛星云(浅墨) ...
最新文章
- Statement接口实现查询数据、添加数据
- Linux下升级安装Python-2.7.8版本
- C++ Primer 5th笔记(chap 15 OOP)派生类的拷贝控制成员
- 计算机辅助相关论文,关于计算机辅助教学的论文
- 开始我的blog之旅
- c语言交换两个变量的值 讲课,用C语言的泛型实现交换两个变量值
- Java 1-Java 基础语法
- 【Vue2.0】—vue-router(二十六)
- Wing IDE注册破解方法
- 微信小程序商城API文档
- 关于计算机方面英语ppt模板,经典ppt模板--计算机软件.ppt
- 3D建模和3D渲染吃什么硬件?专业图形显卡和游戏显卡区别
- HTML5浪漫生日祝福电子贺卡网页模板(HTML5+CSS3+JS)_520表白/七夕情人节表白/告白网页制作/生日快乐html模板...
- 了解java中暴力反射
- 语句摘抄——第11周
- Java设计模式:1.1.认识六个原则(开闭,里氏替代,依赖颠倒)
- 记录centos 7.9 LNMP为网站申请SSL证书详细操作
- The 2021 CCPC Weihai Onsite J. Circular Billiard Table
- postman接口自动化图文案例介绍
- ios自制电话本-swift