博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【OpenCV入门指南】第一篇 安装OpenCV
阅读量:4493 次
发布时间:2019-06-08

本文共 2954 字,大约阅读时间需要 9 分钟。

【OpenCV第一篇】安装OpenCV

本篇主要介绍怎样下载OpenCV安装程序,怎样在VS2008下安装配置OpenCV,文章最后还介绍了一个使用OpenCV的简单小样例。

《OpenCV入门指南》系列文章地址:

一.OpenCV的下载

能够到,然后选一个较新版本号下载。我下的是V2.3.1版本号,下载地址是:

下载完毕后,双击执行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中点击“工具”,再点击“选项”,然后选择“项目和解决方式”,手动增加库文件,引用文件和包括文件就可以完毕OpenCVVS2008的导入。 

 

四.第一个OpenCV程序

以下是最简单的OpenCV使用样例,功能也非常easy——载入图像文件并显示出来。代码例如以下:

//显示图像文件#include 
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.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.《【OpenCV入门指南】第十四篇  Haartraining》即将公布

 

转载请标明出处,原文地址:

《OpenCV入门指南》系列文章地址: 

转载于:https://www.cnblogs.com/mengfanrong/p/3979966.html

你可能感兴趣的文章
objdump 用法
查看>>
前端js模糊搜索(模糊查询)
查看>>
Chrome的hack写法以及CSS的支持程度图示
查看>>
苹果端手机微信页面长按图片无法保存的解决方案
查看>>
C# 调用Dll 传递字符串指针参(转)
查看>>
Android开发最佳学习路线图(转)
查看>>
iOS 常用四种数据存储方式
查看>>
System.Web.Routing入门及进阶 下篇
查看>>
试着用java实现DNS(一)——DatagramSocket, DatagramPacket, Message
查看>>
UINavigationItem UINavigationBar 关系分析
查看>>
Django简介
查看>>
glance cache
查看>>
SIGPROF和SIGALRM使用总结
查看>>
Oracle 多表 连接 顺序 与 性能关系 测试
查看>>
2018-6-11随笔-返回值-密钥
查看>>
LINUX常用应用安装
查看>>
没有方向是多么可怕
查看>>
java.lang.NoClassDefFoundError: org/springframework/boot/context/embedded/FilterRegistrationBean
查看>>
python 之redis
查看>>
jQuery学习记录(二):如何使用jQuery库
查看>>