网上很多都说录制了之后视频文件为0k,或者是打不开。

其实,这个原因主要与2方面有关:

1. OpenCV生成的视频的编码格式有关。

2. 非法退出录取有关(我用200次循环解决。或者可以用Timer。或者用其他键处理)

我个人推荐的解决方法如下:

1.下载一个XviD编码器并安装。

2.用以下代码进行测试:

#include "cv.h"

#include "cxcore.h"

#include "highgui.h"

#include

using namespace std;

int main()

{

CvCapture* capture=cvCaptureFromCAM(-1);

CvVideoWriter* video=NULL;

IplImage* frame=NULL;

int n;

if(!capture) //如果不能打开摄像头给出警告

{

cout<

return -1;

}

else

{

frame=cvQueryFrame(capture); //首先取得摄像头中的一帧

video=cvCreateVideoWriter("camera.avi", CV_FOURCC('X', 'V', 'I', 'D'), 25,

cvSize(frame->width,frame->height)); //创建CvVideoWriter对象并分配空间

//保存的文件名为camera.avi,编码要在运行程序时选择,大小就是摄像头视频的大小,帧频率是32

if(video) //如果能创建CvVideoWriter对象则表明成功

{

cout<

}

cvNamedWindow("Camera Video",1); //新建一个窗口

int i = 0;

while(i <= 200) // 让它循环200次自动停止录取

{

frame=cvQueryFrame(capture); //从CvCapture中获得一帧

if(!frame)

{

cout<

break;

}

n=cvWriteFrame(video,frame); //判断是否写入成功,如果返回的是1,表示写入成功

cout<

cvShowImage("Camera Video",frame); //显示视频内容的图片

i++;

if(cvWaitKey(2)>0)

break; //有其他键盘响应,则退出

}

cvReleaseVideoWriter(&video);

cvReleaseCapture(&capture);

cvDestroyWindow("Camera Video");

}

return 0;

}

OpenCV的详细介绍:请点这里

OpenCV的下载地址:请点这里

linux camera 存储,OpenCV调用摄像头录像并保存下来相关推荐

  1. python3 + opencv 调用摄像头录像后保存视频

    python3 + opencv 调用摄像头录像后保存视频 #!/usr/bin/python3 import cv2## opening videocapture cap = cv2.VideoCa ...

  2. opencv调用摄像头批量抓取图片

    Opencv初学 函数学习 安装opencv opencv调用摄像头截图以及保存 利用opencv抓取600张图片 编辑器:Anaconda python3.6 函数学习 内容比较零散,持续更新中 安 ...

  3. linux中cv调用摄像头,ubuntu中opencv调用摄像头

    ubuntu中opencv调用摄像头 ubuntu中opencv调用摄像头 文章目录 一.Ubuntu中安装opencv 二.关于Linux如何开启摄像头 1.安装VMvareTools,这个是真的强 ...

  4. 在Jetson Nano上挂载摄像头并用OpenCV调用摄像头(较详细)

    --前言 我的摄像头为乐视的USB口摄像头,板子为Jetson Nano 4GB的板子 将摄像头接在Jetson Nano板子上,开机板子. 由于我之前已经实现Jetson Nano的内网穿透,故此处 ...

  5. python打开摄像头获取图片_Python基于opencv调用摄像头获取个人图片的实现方法

    接触图像领域的应该对于opencv都不会感到陌生,这个应该算是功能十分强劲的一个算法库了,当然了,使用起来也是很方便的,之前使用Windows7的时候出现多该库难以安装成功的情况,现在这个问题就不存在 ...

  6. python+opencv打开摄像头、拍摄指定次数的照片_python+openCV调用摄像头拍摄和处理图片的实现...

    在深度学习过程中想做手势识别相关应用,需要大量采集手势图片进行训练,作为一个懒人当然希望飞快的连续采集图片并且采集到的图片就已经被处理成统一格式的啦..于是使用python+openCV调用摄像头,在 ...

  7. 使用opencv调用摄像头然后录制视频和保存文件

    用 OpenCV 开发经常用到摄像头,从 Camera获取图像后用OpenCV的算法进行处理,但是一般我们处理完图像之后,还需要将视频保存下来,比如保存成avi.mp4等格式.怎么保存呢?其实Open ...

  8. python+openCV调用摄像头拍摄和处理图片

    在深度学习过程中想做手势识别相关应用,需要大量采集手势图片进行训练,作为一个懒人当然希望飞快的连续采集图片并且采集到的图片就已经被处理成统一格式的啦..于是使用python+openCV调用摄像头,在 ...

  9. python调用摄像头人脸识别代码_利用face_recognition,dlib与OpenCV调用摄像头进行人脸识别...

    用已经搭建好 face_recognition,dlib 环境来进行人脸识别 未搭建好环境请参考: 使用opencv 调用摄像头 import face_recognition import cv2 ...

  10. python人脸识别截图_Python OpenCV调用摄像头检测人脸并截图

    本文实例为大家分享了Python OpenCV调用摄像头检测人脸并截图的具体代码,供大家参考,具体内容如下 注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别模型haarc ...

最新文章

  1. A. 位运算符的应用---管理一组事务的开关状态
  2. 数据结构(十)栈的作用--大数的加法运算
  3. 【强烈推荐】国土档案管理信息系统产品使用说明书系列目录【附下载地址】...
  4. 使用OUYA第一次启动OUYA
  5. 微软Silverlight4与Adobe Flex4打成平手,SL与FLEX技术全面对比
  6. POJ 3259 Wormholes
  7. 使用JUnit 5 执行条件和并发测试
  8. 第20讲:代理的基本原理和用法
  9. Django集成celery实战小项目
  10. python插件使用教程_Python插件机制实现详解
  11. 在vs.net实现向导式窗口_萨满佳作赏析 | 精神世界,灵魂向导,力量动物(1)...
  12. mysql 数据库gbk转utf8 乱码_mysql表utf8编码,内容gbk编码的乱码转换
  13. Android 系统构架
  14. 自定义页面hashmap 方便调用
  15. unity内部图集切割
  16. 程序员没有那么多996!
  17. Android常见面试题字节跳动、阿里、腾讯2019实习生Android岗部分面试题
  18. uber司机已经激活了,就是还没有上传头
  19. NFS服务器搭建指南
  20. 高红冰:新四大发明彰显互联网普惠价值

热门文章

  1. tensorflow模型部署与python java API线上调用
  2. 【PAT B1019/A1069】数字黑洞
  3. python的运行方式_Python的两种运行方式
  4. android fragment 底部菜单栏,安卓开发-底部导航栏切换Fragment进行显示
  5. android java include_Android开发:javah的使用方法
  6. 为什么哲学是最难的学科_为什么来读哲学系?
  7. php装箱,PHP实现的装箱算法示例
  8. VMware 虚拟机
  9. Hash冲突的解决方式
  10. 开源的物联网技术平台thingsboard安装测试及使用步骤