一、显示图像
基于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.