【OpenCV第一篇】安装OpenCV

2024-06-24 00:58
文章标签 安装 opencv 第一篇

本文主要是介绍【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中点击“工具”,再点击“选项”,然后选择“项目和解决方案”,手动加入库文件,引用文件和包含文件即可完成OpenCVVS2008的导入。 

 

四.第一个OpenCV程序

下面是最简单的OpenCV使用例子,功能也很简单——加载图像文件并显示出来。代码如下:

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

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

 

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》即将发布

 

这篇关于【OpenCV第一篇】安装OpenCV的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1088753

相关文章

RabbitMQ 延时队列插件安装与使用示例详解(基于 Delayed Message Plugin)

《RabbitMQ延时队列插件安装与使用示例详解(基于DelayedMessagePlugin)》本文详解RabbitMQ通过安装rabbitmq_delayed_message_exchan... 目录 一、什么是 RabbitMQ 延时队列? 二、安装前准备✅ RabbitMQ 环境要求 三、安装延时队

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Python库 Django 的简介、安装、用法入门教程

《Python库Django的简介、安装、用法入门教程》Django是Python最流行的Web框架之一,它帮助开发者快速、高效地构建功能强大的Web应用程序,接下来我们将从简介、安装到用法详解,... 目录一、Django 简介 二、Django 的安装教程 1. 创建虚拟环境2. 安装Django三、创

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

Jenkins的安装与简单配置过程

《Jenkins的安装与简单配置过程》本文简述Jenkins在CentOS7.3上安装流程,包括Java环境配置、RPM包安装、修改JENKINS_HOME路径及权限、启动服务、插件安装与系统管理设置... 目录www.chinasem.cnJenkins安装访问并配置JenkinsJenkins配置邮件通知

Win10安装Maven与环境变量配置过程

《Win10安装Maven与环境变量配置过程》本文介绍Maven的安装与配置方法,涵盖下载、环境变量设置、本地仓库及镜像配置,指导如何在IDEA中正确配置Maven,适用于Java及其他语言项目的构建... 目录Maven 是什么?一、下载二、安装三、配置环境四、验证测试五、配置本地仓库六、配置国内镜像地址

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地