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

open cv 阅读详情
AI摘要

本文详细介绍了如何在VS2008环境下安装配置OpenCV,并通过一个简单的示例展示了如何利用OpenCV加载并显示图像文件。教程还包括了OpenCV在VS2008中的导入方法,以及对关键函数如cvNamedWindow、cvShowImage、cvWaitKey、cvLoadImage的解释。最终解决了链接错误并展示了程序运行结果。

【OpenCV第一篇】安装OpenCV

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

《OpenCV入门指南》系列文章地址:http://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/morewindows/article/details/8225783

《OpenCV入门指南》系列文章地址:http://blog.youkuaiyun.com/morewindows/article/category/1291764 


VS2008环境下配置opencv2.3.1 这里是博主的近几天捣鼓V 阅读详情

相关推荐

OpenCV安装配置教程VS2022(超级顺利)

博主最开始没打算写这篇博客,只是想简单的在网上找一下最新版的OpenCV的安装配置教程,适用于VS2022的,但是我搜了一早上,也没搜到一个能让我成功安装配置的,看了很多很多文章,根本就没有几篇有用的。所以没办法了,只能自己研究了,于是就整理了这篇博客,希望能帮到和我一样的人,这就是博主一直信奉的利他精神!

weixin_47367099的博客 5万+

Open CV常用API函数介绍——入门篇

1.1读入图像 retval=cv2.imread(文件名[,显示控制参数]) 文件名:完整文件名 参数:cv.IMREAD_UNCHANGED 原图像读入 cv.IMREAD_GRAYSCALE 灰度图像读入 cv.IMREAD_COLOR BGR图像读入 1.2显示图像 cv2.imshow(窗口名,图像名) cv2.waitKey([,delay]) delay: delay>0 等待delay毫秒 delay<...

qq_45102939的博客 1411

抖音风控参数‘bd-ticket-guard-client-data’深度解析:从X.509证书到请求签名的完整链路

本文深度解析抖音风控参数‘bd-ticket-guard-client-data’的技术实现,从X.509证书体系到请求签名的完整安全链路。通过Python代码示例,揭示证书生成、签名算法及票据封装等核心机制,帮助开发者理解现代平台风控系统的多层防御架构设计。

weixin_42525738的博客 432

open cv快速入门系列---数字图像基础

计算机视觉前置知识-数字图像基本概念

qq_42681787的博客 4950

鱼眼相机去畸变(图像拉直/展开/矫正)算法及实战总结

1、算法说明经纬度矫正法, 可以把鱼眼图想象成半个地球, 然后将地球展开成地图,经纬度矫正法主要是利用几何原理, 对图像进行展开矫正。经过P点的入射光线没有透镜的话,本应交于相机成像平面的e点。然而,经过鱼眼相机的折射,光线会交于相机成像平面的d点,就产生了畸变,因此畸变图像整体上呈现出像素朝图像中心点聚集的态势。而去畸变,就是将折射到d点的点,重新映射回到e点,因此去畸变之后的图像与原始的鱼眼图像相比,仿佛是把向心聚集的像素又重新向四周铺展开来。AVM环视系统——鱼眼相机去畸变算法 - 知乎。

大胡子大叔的专栏 2万+

Zynq UltraScale+ MPSoC-AMP(linux+裸机)

接着 Zynq UltraScale+ MPSoC-双核裸机AMP继续 平台工具:zcu106,vitis2020.2,petalinux2019.2 文章目录1.cpu1跑裸机2.cpu0跑linux2.1petalinux设置2.2 app3.生成BOOT.bin4.zcu106测试 1.cpu1跑裸机 参照Zynq UltraScale+ MPSoC-双核裸机AMP建立的工程进行修改。BSP中stdin与out修改为uart1,uart1给裸机用,uart0给linux用。 ddr空间裸机与linu

zhuxl24的博客 5195

数字图像处理篇(2)Open-CV的简单使用

学习python的Open-CV库

m0_69299019的博客 7013

数字IC后端实现之快速获取innovus中drv violation的所有net list

数字IC后端设计实现之快速获取innovus中drv violation的所有net list

weixin_37584728的博客 3349

【OpenCV入门第一篇】安装PyCharm及OpenCV

文章目录引言安装步骤安装OpenCV测试OpenCV是否安装成功 引言 众所周知,Jetbrains家的产品使用相对简洁方便,不同语言有不同好用的编辑器,其中Pycharm便是Python编辑器。 PyCharm官网下载地址 安装步骤 根据机器位数选择不同安装包下载,选择免费社区版。 双击安装包后运行安装,选择安装目录。 按照提示一直点击Next,其中需要根据机器位数选择创建快捷方式,添加路径到PATH,更新上下文菜单、管理.py文件等。 若之前没有下载Python解释器的话需要下载pyth

qq_37492467的博客 4916

8.26华为OD机试真题 新系统 - 字符串回文判 (Java/Py/C/C++/Js/Go)

8.26华为OD机试真题 新系统 - 字符串回文判 (Java/Py/C/C++/Js/Go)

算法大师! 1230

Keras中神经网络可视化模块keras.utils.visualize_util安装配置方法

Keras中神经网络可视化模块keras.utils.visualize_util安装配置方法

jacke121的专栏 2759
上一篇: 批量删除VC,VS临时文件
下一篇: 【OpenCV入门指南】第二篇 缩放图像
MoreWindows
MoreWindows 《白话经典算法》、《秒杀多线程》作者 《白话经典算法》、《秒杀多线程》作者 领域专家: 操作系统技术领域 领域专家: 操作系统技术领域
博客等级 码龄15年 2万+粉丝 157原创
评论 83
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值