OpenCV第二节 显示图像

来源:互联网 发布:www.js lottery.com 编辑:程序博客网 时间:2024/06/05 03:52

      根据opencvchina的学习,总结一下第一个OpenCV版的HelloWorld,应该是Hello,Lena! 现在开始吧。。。。

      1、首先对一些数据结构进行介绍:

cvLoadImage(char* filename,int  flags=CV_LOAD_IMAGE_COLOR)  

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

                 filename :图像所在路径
                 flags:   #define  CV_LOAD_IMAGE_UNCHANGED -1     如图像颜色不变
                             #define  CV_LOAD_IMAGE_GRAYSCALE  0     灰度图像,单通道
                             #define  CV_LOAD_IMAGE_COLOR      1     彩色图像(3通道图像) 

      此外,输入图像格式可以为8位无符号,16位无符号,32位有符号或者32位浮点型
                             #define  CV_LOAD_IMAGE_ANYDEPTH  2
                             #define  CV_LOAD_IMAGE_ANYCOLOR  4

 如果要想载入最真实地图像,选用 CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR(也可以是: 2 | 4)
                                        
Int  cvNamedWindow(char* name,int flags)  

                         //  name:窗口的标志,每个窗口有唯一的标志,如果已经有同名的窗口,则该函数什么也不干
                         //Flags: CV_WINDOW_AUTOSIZE ,会根据图像大小自动调节窗口大小;如果是0,则窗口大小不变


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


Int cvWaitKey(int key)  

                                //里面的参数key如果小于等于0,则等待用户按键输入;如果大于0(比如50),则在此处暂停50ms .


2、代码如下:

#include "stdafx.h"

#include"highgui.h"    //包含头文件
#include"cv.h"
#include"cxcore.h"


int _tmain(int argc, _TCHAR* argv[])
{
IplImage *src = cvLoadImage("Lena.jpg",CV_LOAD_IMAGE_UNCHANGED | CV_LOAD_IMAGE_GRAYSCALE); 
cvNamedWindow("first");  
cvShowImage("first",src);
cvWaitKey(0);        

cvReleaseImage(&src);     //释放图像空间  ,为防止内存泄漏,注意要进行空间的释放,
cvDestroyWindow("first");   //销毁窗口  , 
 
return 0;
}


结果如下:


原创粉丝点击