opencv调用摄像头并存储视频
来源:互联网 发布:说唱家软件 编辑:程序博客网 时间:2024/04/29 05:29
存在问题:存储的视频播放时只有1帧,并且如果设置存储过多出现无法开辟存储空间的问题,不知道如何求解……………………
#include "highgui.h"//包含opencv库头文件
#include "cv.h"using namespace std;
int main( int argc, char** argv ) {//主函数
cvNamedWindow( "Example2", CV_WINDOW_AUTOSIZE );//创建窗口,(名字,默认大小)
CvCapture *capture = NULL;// 视频获取结构,用来作为视频获取函数的一个参数
CvVideoWriter *video=NULL;
int n;
capture = cvCreateCameraCapture(0);//打开摄像头,从摄像头中获取视频
if(!capture) //如果不能打开摄像头给出警告
{
cout<<"Can not open the camera."<<endl;
return -1;
}
IplImage* frame;//申请IplImage类型指针,就是申请内存空间来存放每一帧图像
int i=0;
while(i<=200)
{
frame = cvQueryFrame( capture );// 从摄像头中抓取并返回每一帧
if( !frame ) break;//如果抓取帧为空 break 打破循环否则将抓取的那一帧显示在创建的窗口上
//创建cvvideowriter对象并分配空间,保存文件名为camera.avi,编码要在运行时选择,大小就是摄像头视频的大小,帧率为32
video=cvCreateVideoWriter("camera.avi",CV_FOURCC('M','P','4','3'),15,cvSize(frame->width,frame->height),1);
if(video)
{
cout<<"video writer has created!"<<endl;
}
n=cvWriteFrame(video,frame);
i++;
//cout<<n<<endl;
cvShowImage( "Example2", frame );//在窗口上显示每一帧
char c = cvWaitKey(33);//延时,每秒钟约33帧;符合人眼观看速度;
if( c == 27 ) break;
//由于是死循环,而且没有控制台,当按下键盘esc键,将按键的ASCII值给C,如果C为ESC(ASCII 为27)循环退出退出循环;
}
cvReleaseCapture( &capture );//释放内存;
cvDestroyWindow( "Example2" );//销毁窗口
return 0;
}
最后,记得用 cvReleaseVideoWriter()把CvVideoWriter数据结构释放,cvReleaseVideoWriter()非常重要,因为AVI文件的文件格式收尾就是要用到cvReleaseVideoWriter(),也就是说,如果不用到 cvReleaseVideoWriter(),AVI文件就无法打开.
0 0
- opencv调用摄像头并存储视频
- 《OpenCV》Part2 OpenCV3.1.0调用摄像头显示视频并拍照
- Qt使用opencv调用摄像头录制视频并保存文件
- OpenCV 获取摄像头并显示摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- OpenCV 获取摄像头并显示摄像头视频
- opencv调用摄像头录制视频
- OpenCV学习之摄像头录制存储视频
- opencv采集视频/摄像头数据并保存
- opencv获取摄像头视频并显示
- opencv摄像头拍摄视频并保存方法
- opencv调用电脑摄像头+视频拼接
- 使用Opencv调用摄像头并在MFC中进行视频显示
- 【图像识别】 Python+Opencv调用摄像头实现人脸识别并保存视频
- OpenCV调用摄像头录像并保存下来
- 八大排序算法
- C++ Primer学习笔记(4)——指针和引用的比较
- GRE写作必备句型
- 第三章
- CTS(兼容性测试)官方文档翻译
- opencv调用摄像头并存储视频
- Android 获取应用版本号
- 10个摄影技术停滞不前你中招了吗
- Bitmap加载的正确方式
- Linux多线程编程
- kafka集群搭建与api客户端创建
- 黑马程序员学习笔记 Java在win7中环境变量的配置
- C++字符串操作笔试题第二波
- vi打开多文件