本文将介绍基于OpenCV实现视频的循环播放。

有以下三个步骤:

  • 首先设置一个frame的设置参数frame_counter,值为0
  • 在读帧时间,将每次加一
  • 当 frame_counter 达到视频总帧数时,将当前的帧设置为 0

视频总帧数:CAP_PROP_FRAME_COUNT
设置当前的帧:CAP_PROP_POS_FRAMES

VideoCaptureProperties通用属性标识符参考地址。

1.Python+OpenCV实现

import cv2cap = cv2.VideoCapture("001.mp4")
frame_counter = 0while (cap.isOpened()):ret, frame = cap.read()frame_counter += 1if frame_counter == int(cap.get(cv2.CAP_PROP_FRAME_COUNT)):frame_counter = 0cap.set(cv2.CAP_PROP_POS_FRAMES, 0)cv2.imshow("frame", frame)key = cv2.waitKey(1)# ESCif key == 27:break
cap.release()
cv2.destroyAllWindows()

2.C++ + OpenCV实现

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>int main() {cv::Mat frame;cv::VideoCapture cap("001.mp4");   int frame_counter = 0;while (true){cap >> frame;if (!frame.data){printf("Image not loaded");return -1;}frame_counter += 1;if (frame_counter == int(cap.get(cv::CAP_PROP_FRAME_COUNT))){frame_counter = 0;cap.set(cv::CAP_PROP_POS_FRAMES, 0);}cv::imshow("demo", frame);char(key)=(char)cv::waitKey(1);if(key==27)break;}return 0;
}

参考目录

https://medium.com/ching-i/%E5%BD%B1%E7%89%87%E6%8C%81%E7%BA%8C%E6%92%AD%E6%94%BE-python-c-3e0cfdd39269

基于OpenCV实现视频的循环播放相关推荐

  1. 基于OpenCV的视频人物查找及剪辑*

    基于OpenCV的视频人物查找及剪辑 摘要:本项目是基于OpenCV的人脸识别技术,将一个完整的视频中自己想要了解的某个具体的人物片段,通过将视频分割成帧并且训练需要提取人物的面部特征,通过主成分分析 ...

  2. python 视频人脸替换_Python基于OpenCV实现视频的人脸检测

    本文实例为大家分享了基于OpenCV实现视频的人脸检测具体代码,供大家参考,具体内容如下 前提条件 1.摄像头 2.已安装Python和OpenCV3 代码 import cv2 import sys ...

  3. python视频人脸检测_Python基于OpenCV实现视频的人脸检测

    本文实例为大家分享了基于OpenCV实现视频的人脸检测具体代码,供大家参考,具体内容如下 前提条件 1.摄像头 2.已安装Python和OpenCV3 代码 import cv2 import sys ...

  4. 基于OpenCV的视频场景切割神器

    环境 windows 10 64bit anaconda with python 3.7 pyscenedetect 0.5.5 简介 了解视频剪辑的小伙伴,应该都知道转场这个词.一个视频场景转换到另 ...

  5. 基于OpenCV的视频处理 - 人脸检测

    一个不知名大学生,江湖人称菜狗 original author: jacky Li Email : 3435673055@qq.com  Time of completion:2023.2.7 Las ...

  6. 91.video.ws index php_如何利用videojs实现视频列表循环播放(完整代码)

    本篇文章给大家带来的内容是关于如何利用videojs实现视频列表循环播放(完整代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 庭审直播 .video-js { /* posit ...

  7. 基于OpenCV的视频道路车道检测

    基于OpenCV的视频道路车道检测 基于OpenCV的视频道路车道检测 前言 综述 运行方法 车道检测的实现 路面图像二值化 基于透视变换提取车道区域 基于二次多项式拟合车道线 计算曲率半径与车辆的偏 ...

  8. 调用笔记本的摄像头实现基于opencv的视频人脸识别(中文显示和英文显示)以及 index 480 is out of bounds for axis 0 with size 480错误的解决

    @人脸识别代码和一些常见错误 基于opencv的视频人脸识别(中文显示)以及 index 480 is out of bounds for axis 0 with size 480错误的解决 参考了 ...

  9. uniapp播放本地视频,循环播放第二遍会显示加载图标

    uniapp播放本地视频,循环播放第二遍会显示加载图标 解决:将加载图标替换成一张纯透明的图片(我感觉这个方法有点捞,有更好的方法可以留言)本方法适用离线打包,因为替换图片要修改uniapp的依赖包 ...

  10. AVProVideo插件实现文件夹中的视频文件循环播放

    说明: 最近项目需要循环播放一个视频列表,使用的是[AVProVideo插件],发现只能一个视频的循环播放,不能实现一个文件夹下的所有视频的循环播放. 解决如下: 插件下载 提取码:bdgh 根据上图 ...

最新文章

  1. hdu 2665(主席树查询区间k大值)
  2. 设计模式之工厂类模式总结对比、简单工厂模式、工厂方法模式、抽象工厂模式、带反射的工厂模式、例子代码分析、最详细
  3. 英特尔媒体年会场景(15P)——实拍与小结
  4. 2.2. 对网络安全的威胁
  5. iOS tableViewCell自适应高度 第三发类库
  6. python拷贝文件函数_Python Set集合,函数,深入拷贝,浅入拷贝,文件处理
  7. 洛谷 P1966 火柴排队 —— 思路
  8. Unity超基础学习笔记(一)
  9. python实现归并算法
  10. vb.net oracle数据库,vb.net 如何与oracle数据库连接
  11. 有效需求预测的四大优势
  12. Kinetis系列单片机(飞思卡尔,NXP )单片机唯一ID获取
  13. 2. 查询表product——统计所有库存商品的总价值
  14. [转载]程序员去面试的梗!面试官:“哦了,明天来上班吧”
  15. #大三狗的日常总结与反思03#
  16. Linux下一些网络小技巧
  17. 频率控制方式及优缺点总结
  18. 如何备份VMware虚拟磁盘文件并移植到其他虚拟机
  19. 浅谈ArcGIS GP服务 :一、框架介绍
  20. HR团队如何提升效率?人力资源RPA给你答案

热门文章

  1. word表格完美复制到excel之浅析
  2. oracle imp仅导入数据
  3. 复旦MBAer聊“进博”:希望已至,寻路未来!
  4. Python分析【崩坏学园2】凝魔纹心所输出
  5. win10加入域环境
  6. 运维工作的OKR愿景、战略和目标设计示例
  7. 一起撸过游戏的下铺兄弟,你还在玩游戏吗
  8. r library car_R 语言教程:方差分析与多重比较
  9. 生意参谋和数据银行盘点:品牌+市场+产品
  10. 01 你了解依赖倒置原则吗