OpenCV: 读视频 & 写视频

这篇博客介绍了如何利用OpenCV的cv::VideoCapture和cv::VideoWriter类来读取和写入视频文件。过程与C++处理fstream文件流相似,包括创建对象、绑定文件、读写操作和释放资源。读取时,使用>>运算符逐帧读取;写入时,使用<<运算符将帧写入。示例代码展示了具体实现。
摘要由CSDN通过智能技术生成

使用cv::VideoCapture类读取视频文件、使用cv::VideoWriter类写入视频文件,使用思路和方法与C++中处理文件的fstream文件流方法类似。

完整流程如下(各别步骤可以省略或合并):

1、创建对象;

2、与文件绑定 (1,2步也可以通过构造函数合并到一起完成);

3、读取(析取)或写入;  

  • 对于读取,VideoCapture中重载的运算符 >> 析取器每次读取一帧 (文件流fstream中重载的 >> 析取器每次读取直到遇到空格或换行符)
  • 对于写入,VideoCapture中重载的运算符 << 每次向VideoCapture对象中写入一帧。

4、释放对象 (调用release()成员函数)

读取视频的代码范例如下:

cv::VideoCapture cap; //创建VideoCapture对象
cap.open("my_video_dir.avi");  //将视频文件绑定到所创建的VideoCapture对象上

if(!cap.isOpened()){   //检查是否能正常打开视频文件
std::cout<<"fail to open video"<<std::endl;
}

cv::Mat frame;
while(true){

//方法一:>>析取器
cap>>frame;  //每个循环从cap中解析一帧,赋给fr
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yuyuelongfly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值