OpenCV学习-视频的读取和写入保存(附代码)

一.视频的读取

视频其实是由一帧帧图像所组成的,当帧率超过一个阈值就成了视频,opencv中通过VideoCapture类来实现视频的读入:

1.打开视频或从设备中获取图像

两种方法:

VideoCapture capture("../xx.avi"); //打开指定路径下的video

capture.open("../xx.avi"); //

2.获取视频帧的方法有四种:

capture.read(frame);
capture.grab();
capture.retrieve(frame);
capture>>frame;

其中第一种和第四种最为常见.

3.获取视频的参数

一个视频会有很多参数,如:帧率,总帧数,尺寸和格式等,都是通过VideoCapture类的get方法得到的.用的比较多的就是帧率和总帧数:

double frame_rate=capture.get(CV_CAP_PROP_FPS); //帧率
int frame_num=catture.get(CV_CAP_PROP_FRAME_COUNT); //总帧数

get方法的其他参数可以根据需要去查阅.

4.设置视频帧的读取位置

VideoCapture类中的set方法可以去出视频中某个位置的帧,可以通过帧编号,时间和位置来取:

// 第10帧
double position=10.0;
capture.set(CV_CAP_PROP_POS_FRAMES,position);
// 第1e6毫秒
double position=1e6;
capture.set(CV_CAP_PROP_POS_MSEC,position);
// 视频1/2位置
double position
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值