opencv第二章-显示一张图片和播放avi视频

opencv第二章-显示一张图片和播放avi视频

 

1)显示一张图片

#include <opencv2/opencv.hpp>  //头文件
using namespace cv;  //包含cv命名空间
void main( )
{    
// 【1】读入一张图片,载入图像
Mat srcImage = imread("1.jpg");
// 【2】显示载入的图片
imshow("【原始图】",srcImage);
// 【3】等待任意按键按下
waitKey(0);
}

(a)这是最新版的显示图片程序,省略了很多创建窗口和关闭窗口的程序。来看一下每句话的意思:

Mat srcImage = imread("1.jpg");//创建图像矩阵,矩阵元素为图像的像素,读入了图像。

 

(b)读入函数imread()的原型如下:

CV_EXPORTS_W Mat imread( const string& filename, int flags=1 )

第一个参数是文件路径,就是文件名,用双引号来表示文件名字符串

第二个参数是图像的大小,默认为1,就是原图。

 

(c)waitKye(0)的原型如下:

CV_EXPORTS_W int waitKey(int delay=0);

括号内的参数delay是表示要延时的时间,单位是ms毫秒。

 

(c)imshow()函数

CV_EXPORTS_W void imshow( const string& winname, InputArray mat );

第一个参数是要显示的窗口名称,用双引号来表示字符串

第二个参数是要显示的图像矩阵

 

2)老版本的程序如下:

int main()

{

IplImage *img=cvLoadImage("1.jpg");

cvNamedWindow("Example1",CV_WINDOW_AUTOSIZE);

cvShowImage("Example1",img);

cvWaitKey(0);

cvReleaseImage(&img);

cvDestroyWindow("Example1");

}

 

3)播放avi视频

#include <opencv2/opencv.hpp>  //头文件
using namespace cv;  //包含cv命名空间
int main( )
{    
//【1】读入视频
VideoCapture capture("1.avi");
//【2】循环显示每一帧
while(1)  
{  
Mat frame;//定义一个Mat变量,用于存储每一帧的图像
capture>>frame;  //读取当前帧
imshow("读取视频",frame);  //显示当前帧
waitKey(30);  //延时30ms
}  
return 0; 

posted @ 2016-11-03 11:04  啊琛  阅读(115)  评论(0编辑  收藏  举报