Opencv显示图片、读取视频、读取摄像头

显示图片


#include"stdio.h"
#include<iostream
//头文件加载,配置不成功请参考上一篇博客
#include<opencv2/core/core.hpp>  
#include<opencv2/highgui/highgui.hpp>
int main()
{
    //1代表彩色图像 ,0代表灰度图像。可前往定义查看跟多详情
	IplImage* path = cvLoadImage("E:\\1.bmp",1); 
	cvNamedWindow("Show"); //创建一个窗口并命名为Show
	cvShowImage("Show",path); //把图片在Show这个窗口显示
	cvWaitKey(5000); //图片显示的时间  5000ms
	//释放图像资源
	cvReleaseImage(&path);
	cvDestroyWindow("Show"); //关闭窗口
	return 0;
}

读取视频

#include"stdio.h"
#include<iostream>
#include<opencv2/core/core.hpp>
#include<opencv2/highgui/highgui.hpp>
int main()
{
    //大部分视频格式用mp4或avi。如果不是用工具传化  否则会报错
	CvCapture* capture =  cvCreateFileCapture("D:\\QLDownload\\smu.mp4");
	cvNamedWindow("ShowVideo");
	IplImage* video ;
	while(1) //逐帧逐帧显示
	{
		video= cvQueryFrame(capture); //加载下一帧
		if(!video)
			break;
		cvShowImage("ShowVideo",video);
		char c = cvWaitKey(33);//以一秒30的帧率显示 可调。并在期间对按键触发返回相应的ACSII码
		if(c==27) //27是ESC的ASCII码 
			break;
		
	}
	//释放视频资源
	cvReleaseCapture(&capture);
	cvDestroyWindow("ShowVideo"); 
	return 0;
}

读取摄像头(需要安装摄像头相应的驱动)

读取摄像头只需把上面读取视频文件的cvCreateFileCapture改为cvCreateCameraCapture(-1)   里面参数是id  就是如果有多个摄像头时选择一个id  只有一个可填-1  意思是随机选择一个。  其他地方不需要改动

猜你喜欢

转载自blog.csdn.net/sm16111/article/details/81285270