Learning_Opencv(一)使用摄像头录制视频并逐帧写入文件
来源:互联网 发布:linux如何查看path 编辑:程序博客网 时间:2024/05/19 20:43
遇到的问题:
按照书上的代码,储存到硬盘上的文件为0KB.
解决办法:
将解码器改为"XVID".
即将代码改为:CvVideoWriter* video = cvCreateVideoWriter("camera1.avi", CV_FOURCC('X', 'V', 'I', 'D'), 8,
cvSize(frame->width, frame->height));
具体实现代码如下:
#include <opencv\cv.h>#include <opencv\cxcore.h>#include <opencv\highgui.h>int main(){CvCapture* capture = cvCreateCameraCapture(0);IplImage* frame = NULL;frame = cvQueryFrame(capture); //首先取得摄像头中的一帧CvVideoWriter* video = cvCreateVideoWriter("camera1.avi", CV_FOURCC('X', 'V', 'I', 'D'), 8,cvSize(frame->width, frame->height));//8帧/s防止速度过快while (1) // 让它循环200次自动停止录取{frame = cvQueryFrame(capture); //从CvCapture中获得一帧cvWriteFrame(video, frame); cvShowImage("Camera Video", frame); //显示视频内容的图片if (cvWaitKey(2) > 0)break; //有其他键盘响应,则退出}cvReleaseVideoWriter(&video);cvReleaseCapture(&capture);cvDestroyWindow("Camera Video");return 0;}
另外自己认为,如果是打开视频文件,然后进行处理,写入文件,则应选择相应的解码器。
方法如下:
long l = (long)cvGetCaptureProperty(capture, CV_CAP_PROP_FOURCC);char *ff = (char *) (&l);printf("fourcc = <%c%c%c%c>\n" , fourcc[3], fourcc[2], fourcc[1], fourcc[0]);
0 0
- Learning_Opencv(一)使用摄像头录制视频并逐帧写入文件
- Qt使用opencv调用摄像头录制视频并保存文件
- opencv 打开摄像头并将视频数据写入文件
- 视频时时录制写入文件h264
- iOS拍照和录制视频 摄像头使用
- OpenCV 摄像头录制视频
- 采集视频并写入文件
- Android切换前后置摄像头并录制视频
- Android切换前后置摄像头并录制视频
- Android切换前后置摄像头并录制视频
- WebRtc技术实现网页摄像头录制视频并上传服务器
- 使用MediaRecorder录制视频,并进行播放
- opencv调用摄像头录制视频
- HTML5调用摄像头录制视频
- win8 metro 调用摄像头录制视频并将视频保存在相应的位置
- 通过调用系统摄像头拍照,拍视频,然后写入文件
- DirectShow中利用SampleGrabber捕获摄像头每一帧图像,并转为BMP文件信息写入内存
- DirectShow中利用SampleGrabber捕获摄像头每一帧图像,并转为BMP文件信息写入内存
- Hbase写入量大导致region过大无法split问题
- Android 应用的安装位置
- 树莓派无线网卡连接
- 对偶理论入门
- Storm使用到的相关技术总结
- Learning_Opencv(一)使用摄像头录制视频并逐帧写入文件
- TCP/IP参考模型
- 【Windows技巧】修改注册表实现右键打开任意文件
- Android Design Support Library
- PF_PACKET 设备层编程接口
- maven线上遇到的一个问题
- ssh整合原理及其为什么使用
- Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
- missing blocks错误