opencv 读取视频内容写入图片帧

本文介绍如何使用OpenCV将视频文件逐帧读取并保存为图片,详细展示了代码实现过程,包括视频读取、帧处理及图片保存等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在主要把自己平时用到的opencv功能记录到博客,一方面方便自己有时间来回顾,另一方便提供给大家一个参考。

opencv 读取视频内容,把视频帧每一帧写成图片,存入电脑中。这个步骤是许多数据处理的基础。在写入图片的时候,按照图片数量进行编号和命名,统一名称长度,为了在进行批处理时,不改变图片的顺序。

 1 /*输入视频的路径*/
 2 /*输出路径暂时写入外面的临时文件夹,自己可以灵活修改*/
 3 
 4 void ParseVideo2Images(std::string &strVideo)
 5 {
 6     cv::VideoCapture videoCap(strVideo.c_str());
 7 
 8     cv::Mat imgFrame;
 9 
10     char cImg[20];
11     int iIndex = 1;
13     /*逐条读取视频数据,写入文件*/
15     while (videoCap.read(imgFrame))
16     {
17         sprintf(cImg , "%s%d%s", "0000000" , iIndex++ , ".jpg");
18 
19         std::string strName(cImg);
20         //std::cout << strName << std::endl;
21 
22         /*进行名称的截取,截取名称的后10位,变为00001.jpg*/
24         std::string str = strName.substr(strName.size()-10);
26         /*输出路径设定*/
27         strName = "..//HD_images//" + str;
29         //std::cout << strName << std::endl;
30         //std::cout << str << std::endl;
32         cv::imwrite(strName,imgFrame);
33 
34     }
35 
36 }        

 

转载于:https://www.cnblogs.com/Geo-fortune/p/8385080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值