Study notes for OpenCV——第三节:Opencv一个简单的程序:显示图像

本文介绍了OpenCV如何显示图像,包括cvLoadImage的用法,图像加载标志的解释,以及cvNamedWindow、cvShowImage、cvWaitKey、cvReleaseImage和cvDestroyWindow等函数的功能。通过示例代码,演示了从读取到显示图像的完整过程。
摘要由CSDN通过智能技术生成

一、显示图像

基于Opencv,我们可以读取各种图像文件,视频文件,还可以读取摄像头。这些功能是Opencv开发包中HighGUI工具集的一部分。下面,我们就使用其中的一些功能来实现如何显示一幅图像。

二、显示图像代码

// show_image.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include "cxcore.h"

int _tmain(int argc, _TCHAR* argv[])
{
	IplImage* src =cvLoadImage("c:\\lena.bmp",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);
	cvNamedWindow("showImage");
	cvShowImage("showImage",src);
	cvWaitKey(0);
	cvReleaseImage(&src);
	cvDestroyWindow("showImage");
	return 0;
}
(1)cvLoadImage(char* filename,int flags=CV_LOAD_IMAGE_COLOR)

Filename:图像所在路径
Flags:
/* 图像颜色不变 */
#define CV_LOAD_IMAGE_UNCHANGED  -1

/*灰度图像(单通道) */
#define CV_LOAD_IMAGE_GRAYSCALE   0

/* 彩色图像(3通道图像) */
#define CV_LOAD_IMAGE_COLOR       1

cvLoadImage参数说明
Flags:
/*则输入图像格式可以为8位无符号,16位无符号,32位有符号或者32位浮点型 */ 
#define CV_LOAD_IMAGE_ANYDEPTH    2

/* 保持原样 */
#define CV_LOAD_IMAGE_ANYCOLOR    4

如果想要载入最真实的图像,选择CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR 

如果输入有冲突的标志,将采用较小的数字值。比如CV_LOAD_IMAGE_GRAYSCALE | CV_LOAD_IMAGE_COLOR将载入单通道图。 

cvLoadImage的功能
通过文件名确定被加载图像的格式,并且该函数在内部分配图像数据结构所需要的内存空间。
支持的图像格式:BMP,DIB,JPEG,JPE,PNG,PBM,PGM,PPM,SR,RAS,TIFF。

(2)Int cvNamedWindow(char*name,int flags
name:窗口的标志。如果已经有同名窗口,则该函数什么也不干。
Flags:CV_WINDOW_AUTOSIZE ,会根据图像大小自动调整窗口大小。如果是0,则窗口大小不变。

(3)cvShowImage(char* name,IplImage* dst)
功能:在指定窗口上显示图像。
name:窗口的标志。这个标志是cvNamedWindow函数设定的。
dst:被显示的图像

(4)Int cvWaitKey(int key)
Key:

如果key的值是大于0的数,那么该函数的功能是,在此处暂停key毫秒。

如果是小于等于0的数,那么,该函数是在等待用户的按键输入。

(5)cvReleaseImage(IplImage** src)
功能:释放图像空间。

(6)cvDestroyWindow(char* name)
功能:注销一个窗口。同时释放为该窗口所分配的所有内存(包括窗口内部的图像内存缓冲区)

三、实验结果:


本文尚不成熟,希望大家提出宝贵意见。

敬请关注本博客和新浪微博To_捭阖_youth.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值