OpenCV学习笔记(1)——显示图片

  最近开始学习OpenCV了,也打算通过写博客来记录学习opencv的笔记吧。


  第一个程序就是比较简单,也是入门级的程序--加载图片并显示出来。 代码如下:

#include"highgui.h"int main()
{//从文件中提取图像IplImage * img=cvLoadImage("11.jpg",CV_LOAD_IMAGE_UNCHANGED);//创建窗口cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);//指定窗口cvShowImage("Example1",img);//等待按键事件cvWaitKey(0);cvReleaseImage(&img);cvDestroyWindow("Example1");return 0;
}

显示结果为:


介绍下主要的函数:

1.cvLoadImage

功能:读取图像

函数原型:IplImage* cvLoadImage( const char*filename, int flags=CV_LOAD_IMAGE_COLOR );

filename:要被读入的文件的文件名(包括后缀);

(windows中路径分隔符用”\\“).

flags :指定读入图像的颜色和深度:

使用方法:cvLoadImage( filename, -1 );默认读取图像的原通道数

cvLoadImage(filename, 0 );强制转化读取图像为灰度图

cvLoadImage(filename, 1 );读取彩色图

2.创建窗口 cvNamedWindow

函数名称:cvNamedWindow 
函数功能:创建窗口 
函数原型:
int cvNamedWindow( const char* name, intflags=CV_WINDOW_AUTOSIZE );

参数说明:
第一个参数表示窗口的名字,它被用来区分不同的窗口,并被显示为窗口标题。被创建的窗口可以通过它们的名字被引用。 
第二个参数表示窗口属性标志。目前唯一支持的标志是CV_WINDOW_AUTOSIZE。当这个标志被设置后,用户不能手动改变窗口大小,窗口大小会自动调整以适合被显示图像;

当取值为0,则用户可以手动调整窗口大小。
函数cvNamedWindow创建一个可以放置图像和trackbar的窗口。

3.在指定窗口中显示图像 cvShowImage

函数名称:cvShowImage 
函数功能:在指定窗口中显示图像 
函数原型:
void cvShowImage( const char* name, constCvArr* image );
参数说明:

第一个参数:窗口的名字。 
第二个参数:被显示的图像。
 

4.等待按键事件 cvWaitKey

函数名称:cvWaitKey

函数功能:等待按键事件

函数原型:
int cvWaitKey( int delay=0 );
参数说明:

第一个参数:延迟的毫秒数,当delay<=0时表示无限等待。

函数返回值:

如果超过指定时间则返回-1,否则返回被按键的值。


5.cvReleaseImage(&img):释放保存图像的内存空间;

6.cvDestroyWindow(name):关闭窗口


转载请标明出处,原文地址:http://write.blog.csdn.net/postedit/39610949


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/409244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

和包支付的钱哪里来_2019年支付宝年度账单出炉,来看看你究竟花了多少钱

今天早上&#xff0c;打开支付宝付款时&#xff0c;看见搜索框出现2019年账单时&#xff0c;该来的还是要要来。随后&#xff0c;小盾打开支付宝年度帐单看了起来&#xff0c;顿时就心中就出现了这样的疑问&#xff0c;我哪来的这么多钱&#xff1f;我怎么花了这么多钱&#xf…

从RGB到Lab色彩空间的转换

最近一直在学习绘制RGB,HSV,Lab色彩空间的直方图&#xff0c;其中也涉及到互相转换的知识&#xff0c;这是网上看到的介绍的。 虽然若干年前就看过了关于色彩空间的介绍&#xff0c;但是直到今天才自己动手写代码做这件事情。虽然网络上已经有很多现成的例子&#xff0c;但是一…

css中怎么把数字改成罗马数字,$\LaTeX$笔记:Section 编号方式(数字、字母、罗马)计数器计数形式修改...

$\LaTeX$系列根目录&#xff1a; Latex学习笔记-序IEEE模板中Section的编号是罗马数字&#xff0c;要是改投其他刊物的话可能得用阿拉伯数字&#xff0c;所以可以在导言部分做如下修改(放在导言区宏包调用之后)&#xff1a;\renewcommand\thesection{\arabic{section}}%arabic …

creo动画如何拖动主体_Animate如何制作动态遮罩文字动画

使用遮罩可以制作文字动画&#xff0c;让文字变形图片填充并变化的动画效果。FLASH如何制作变色文字效果-百度经验​jingyan.baidu.comFLASH如何制作高光扫过文字的效果-百度经验​jingyan.baidu.com适用软件&#xff1a;Animate CC2018及其它FLash软件制作步骤&#xff1a;1.打…

热插拔服务器电源维修,无需关停系统即可热插拔,TE Connectivity推出滑轨电源连接器...

原标题&#xff1a;无需关停系统即可热插拔&#xff0c;TE Connectivity推出滑轨电源连接器全球连接与传感器领域领军企业TE Connectivity(TE)宣布推出滑轨电源连接器。此连接器是唯一一款无需关闭系统电源&#xff0c;即可在服务器中进行电子元件热插拔的电源连接器产品。滑轨…

excel服务器2010网站,excel服务器2010

excel服务器2010 内容精选换一换所有弹性伸缩的接口&#xff0c;有自定义错误信息返回&#xff0c;该小节介绍弹性伸缩的错误码的含义。{"error":{"code":"AS.0001","message":"System error."}}当您调用API时&#xff0c;如…

Android系统架构

Android系统架构总体可分为四层结构&#xff0c;从下往上依次是:Linux内核层、系统运行库层、应用程序框架层以及应用程序层。如下图所示&#xff1a; 一、Linux内核层 Google选择了Linux内核作为Android的底层支撑系统。当前的Android系统是基于Linux2.6内核的&#xff0c;提供…

门禁系统服务器 控制器 读卡器,你知道门禁系统读卡器分为多少种吗?

门禁系统用的非接触IC 卡( 感应式 IC 卡 ) 读卡器是门禁系统的重要组成部分 , 是门禁系统信号输入的关键设备 , 关系着整个门禁系统的稳定性 。读卡器以固定频率向外发出电磁波&#xff0c;频率一般是13.56MHZ&#xff0c;当感应卡进入读卡器电磁波辐射范围内时&#xff0c;会触…

mounted钩子函数_Vue 探索之路——生命周期和钩子函数的一些理解

对于执行顺序和什么时候&#xff0c;下面我们将结合代码去看看钩子函数的执行<!DOCTYPE html> <html> <head><title></title><script type"text/javascript" src"https://cdn.jsdelivr.net/vue/2.1.3/vue.js"></sc…

梯度化一张图片

最近刚好学习到梯度方面的知识&#xff0c;所以上网查找了下关于梯度化一副图片的opencv代码&#xff0c;参考代码出自http://www.cnblogs.com/gnuhpc/archive/2012/06/28/2568755.html #include<stdio.h> #include<cv.h> #include<highgui.h> #include<m…

逃跑吧少年服务器临时维护中,逃跑吧少年—逃跑吧少年5月30日更新 主动技能解锁...

逃跑吧少年—逃跑吧少年5月30日更新 主动技能解锁发表时间&#xff1a; 2019-05-31 作者&#xff1a;7k7k电脑版《逃跑吧&#xff01;少年》服务器将于5月30日9:00-11:00进行服务器维护工作&#xff01;请少年们安排好游戏时间&#xff0c;在维护前下线&#xff0c;以免造成…

graphpad导出图片不居中_从GraphPad Prism一键导出满足期刊要求的图表

众所周知&#xff0c;每个期刊都有自己对论文格式的规则&#xff0c;其中对图表的格式也有具体的规则。为减少发表所需的时间&#xff0c;GraphPad Prism允许您自定义导出&#xff08;文件类型、分辨率、透明度、尺寸、色彩空间 RGB/CMYK&#xff09;图表&#xff0c;以满足期刊…