OpenCV学习(2)——一个简单的例子
光说不练假把式,来看一个简单的例子,了解了解OpenCV。这个小demo没有几行代码,作用是显示项目目录下面的一张图片。
#include <opencv2\opencv.hpp>
#include <iostream> int main()
{
IplImage *src;
src = cvLoadImage("logo.jpg",-1);
cvNamedWindow("logo.jpg",0);
cvShowImage("logo.jpg",src); cvWaitKey(0);
cvDestroyWindow("logo.jpg");
cvReleaseImage(&src); return 0;
}
具体运行情况如下:
虽然例子微不足道,但还是有很多要点值得我去研究一番的。
1、#include <opencv2\opencv.hpp>
包含了opencv的头文件,这里的hpp指的是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件。
2、cvLoadImage() 函数
| 原型: | IplImage cvLoadImage(const char *filename,int iscolor = 1); |
| 作用: | 从文件中加载图像。 |
|
参数: |
filename是要加载的文件,包括文件扩展名。 iscolor为辅助参数项,为正、零或负数三种值。正数表示强制性作为彩色图像加载,零表示作为灰图像加载,负数表示由文件自身决定。 |

3、cvNamedWindow() 函数
| 原型: | int cvNamedWindow(const char *name,unsigned long flags); |
| 作用: | 定义窗口。创建一个可以放置图像的窗口,被定义的窗口可以通过他们的名字进行引用。如果已经存在这个窗口,这个函数直接返回。 |
|
参数: |
name:窗口名。 flags:窗口属性标值。1表示窗口尺寸与原图像尺寸相同,0表示已固定的窗口显示图像。 |
4、cvShowImage() 函数
| 原型: | void cvShowImage(const char *name,const CvArr *image); |
| 作用: | 在指定的窗口中显示图像。 |
| 参数: | name:窗口名称。 image:图像类型指针,一般为IplImage类型。 |
5、cvWaitKey() 函数
| 原型: | int cvWaitKey(int delay = 0); |
| 作用: | 程序延迟函数。 |
| 参数: | 如果delay<=0,那么无线无限等待。否则等待delay个毫秒返回。 |
6、cvDestroyWindow() 函数
| 原型: | void cvDestroyWindow(const char *name); |
| 作用: | 销毁窗口函数。 |
| 参数: | name为将要销毁窗口的名字,如果没有指定名字将直接返回。 |
7、cvReleaseImage() 函数
| 原型: | void cvRelease(IpImage **name); |
| 作用: | 图像销毁函数。 |
| 参数: | 要销毁图像的指针。 |
OpenCV学习(2)——一个简单的例子的更多相关文章
- 新秀学习Hibernate——一个简单的例子
一个.Hibernate开发. 上篇博客已经为大家介绍了持久层框架的发展流程,持久层框架的种类. 为了可以使用Hibernate高速上手,我们先解说一个简单的Hibernate应用实例hibernat ...
- Spring-Context之一:一个简单的例子
很久之前就想系统的学习和掌握Spring框架,但是拖了很久都没有行动.现在趁着在外出差杂事不多,就花时间来由浅入深的研究下Spring框架.Spring框架这几年来已经发展成为一个巨无霸产品.从最初的 ...
- 用一个简单的例子来理解python高阶函数
============================ 用一个简单的例子来理解python高阶函数 ============================ 最近在用mailx发送邮件, 写法大致如 ...
- 关于apriori算法的一个简单的例子
apriori算法是关联规则挖掘中很基础也很经典的一个算法,我认为很多教程出现大堆的公式不是很适合一个初学者理解.因此,本文列举一个简单的例子来演示下apriori算法的整个步骤. 下面这个表格是代表 ...
- 扩展Python模块系列(二)----一个简单的例子
本节使用一个简单的例子引出Python C/C++ API的详细使用方法.针对的是CPython的解释器. 目标:创建一个Python内建模块test,提供一个功能函数distance, 计算空间中两 ...
- fitnesse - 一个简单的例子(slim)
fitnesse - 一个简单的例子(slim) 2017-09-30 目录1 编写测试代码(Fixture code)2 编写wiki page并运行 2.1 新建wikiPage 2.2 运行 ...
- Struts2的配置和一个简单的例子
Struts2的配置和一个简单的例子 笔记仓库:https://github.com/nnngu/LearningNotes 简介 这篇文章主要讲如何在 IntelliJ IDEA 中使用 Strut ...
- 一个简单的例子搞懂ES6之Promise
ES5中实现异步的常见方式不外乎以下几种: 1. 回调函数 2. 事件驱动 2. 自定义事件(根本上原理同事件驱动相同) 而ES6中的Promise的出现就使得异步变得非常简单.promise中的异步 ...
- 一个简单的例子了解states
在大规模的配置管理工作中,我们要编写大量的states.sls文件.top.sls是states系统的入口文件,它负责指定哪些设备调用哪些states.sls文件.statse的默认工作目录是在/sr ...
随机推荐
- 还不懂 ConcurrentHashMap ?这份源码分析了解一下
上一篇文章介绍了 HashMap 源码,反响不错,也有很多同学发表了自己的观点,这次又来了,这次是 ConcurrentHashMap 了,作为线程安全的HashMap ,它的使用频率也是很高.那么它 ...
- Python第十三章-网络编程
网络编程 一.网络编程基础 python 的网络编程模块主要支持两种Internet协议: TCP 和 UDP. 1.1通信协议 通信协议也叫网络传输协议或简称为传送协议(Communications ...
- 使用Putty + Xming 远程登录Linux显示图形化界面
一般我们远程登录linux 服务器,都是使用非加密的 telnet 或者加密的 ssh.这些登录方式有一个特点:只能登录字符界面,不能运行那些带有GUI界面的程序. 有时候为了学习或者工作的需要,我们 ...
- 搭建单区域DNS服务器
搭建单区域DNS服务器 案例1:搭建单区域DNS服务器 案例2:特殊DNS解析 案例3:配置 ...
- 详细解析 HBASE 配置的各种要点
文章更新于:2020-04-06 安装惯例,需要的文件附上链接放在文首. 文件名:hbase-2.2.4-bin.tar.gz 文件大小:213.24 MB 下载链接:http://download. ...
- vue-shop项目第一天(用于记录 个人学习)
vue-shop 第一天 一.项目初始化 1.安装vuecli脚手架(依赖于webpack)[前端自动构建工具]. 2.安装插件(element-ui)[第三方插件库], 安装依赖(axios)[调用 ...
- Java字符串的应用
字符串的简单应用 public class join { public static void main (String args[]){ String s1 = new String (" ...
- 34.4 对象流 ObjectOutputStream ObjectInputStream
* 对象操作流:可以用于读写任意类型的对象 * ObjectOutputStream * writeObject * ObjectOutputStream(OutputStream out) * Ob ...
- matplotlib 中其他基于Affine2DBase的类
2020-04-11 11:42:22 --Edit by yangray以下所有类(除了BboxTransformToMaxOnly )都直接继承于Affine2DBaseIdentityTrans ...
- 并发系列64章(TPL 数据流)第七章
前言 什么是TPL?全称:transmission control protocol 传输层对应于OSI七层参考模型的传输层,它提供两种端到端的通信服务. 然后思维方式回到为什么有这个TPL 数据流上 ...