OpenCV技术应用(1)— 如何去截取视频中的帧

这篇具有很好参考价值的文章主要介绍了OpenCV技术应用(1)— 如何去截取视频中的帧。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

opencv获取连续视频帧,OpenCV:基础+应用,opencv,人工智能,计算机视觉,目标检测,深度学习,python

前言:Hello大家好,我是小哥谈。针对一段视频,如何去截取视频中的帧呢?本节课就给大家介绍两种方式,一种方式是按一定间隔来截取视频帧,另一种方式是截取视频的所有帧。希望大家学习之后能够有所收获!🌈

     目录

🚀1.按一定间隔截取视频帧

💥💥1.1 核心技术

💥💥1.2 实现步骤

💥💥1.3 实现代码

🚀2.截取视频中所有的帧

💥💥2.1 核心技术

💥💥2.2 实现步骤

💥💥2.3 实现代码

opencv获取连续视频帧,OpenCV:基础+应用,opencv,人工智能,计算机视觉,目标检测,深度学习,python

实例1:本实例将使用OpenCV从视频文件中按一定的视频帧数间隔截取视频帧,并将截取到的视频帧保存在项目images文件夹下。 

🚀1.按一定间隔截取视频帧

💥💥1.1 核心技术

本实例将从视频文件中按每隔100帧截取视频帧,并将截取到的视频帧保存在images文件夹下。其中,在按每隔100帧截取视频帧之前,要先定义表示“记录读取到的帧数”和“每隔100帧”的两个标签。🌴

关键代码如下所示:

frame_number = 1 # 记录读取到的帧数,初始值为1

frame_interval = 100 # 每隔100帧

具备了这两个标签后,再来编写“将截取到的视频帧保存在images文件夹下”的代码。需要注意的是,在拼接保存视频帧路径之前,要先把frame_number由整数转为字符串。

关键代码如下所示:

if (frame_number % frame_interval == 0): # 每隔100帧

cv2.imwrite("images/" + str(frame_number) + ".jpg", frame) # 截取并保存1帧

💥💥1.2 实现步骤

本实例的操作对象是视频文件。首先,使用VideoCapture类的构造方法打开视频文件。然后,读取视频帧。接着,按每隔100帧截取视频帧,并将截取到的视频帧保存在images文件夹下。最后,释放被视频文件占用的空间。🌱

实现步骤流程图如下所示:

opencv获取连续视频帧,OpenCV:基础+应用,opencv,人工智能,计算机视觉,目标检测,深度学习,python

💥💥1.3 实现代码

具体的实现代码如下所示:

import cv2

video = cv2.VideoCapture("1.mp4") # 打开视频文件
frame_number = 1 # 记录读取到的帧数,初始值为1
frame_interval = 100 # 每隔100帧(截取1帧)
while (video.isOpened()): # 视频文件被打开后
    retval, frame = video.read() # 读取视频帧
    if retval == True: # 读取到视频帧后
        if (frame_number % frame_interval == 0): # 每隔100帧
            cv2.imwrite("images/" + str(frame_number) + ".jpg", frame) # 截取并保存1帧
    else: # 没有读取到视频帧
        break # 终止循环
    frame_number = frame_number + 1 # 读取到的视频帧执行自加操作
    cv2.waitKey(1) # 1毫秒后播放视频文件的下一帧
print("视频帧已截取完成!") # 控制台输出提示信息
video.release() # 释放被视频文件占用的空间

运行结果如图所示:

opencv获取连续视频帧,OpenCV:基础+应用,opencv,人工智能,计算机视觉,目标检测,深度学习,python

opencv获取连续视频帧,OpenCV:基础+应用,opencv,人工智能,计算机视觉,目标检测,深度学习,python

由于我准备的视频文件很小,所以按照每100帧截取1帧,只截取到2帧。


实例2:视频是由大量的帧组成的。其中,每一帧都是一幅图像。所谓视频分解,就是把组成视频的每一帧从视频文件中分解出来。本实例将使用OpenCV分解一个视频文件,把分解得到的视频帧保存在项目目录images文件夹下。

🚀2.截取视频中所有的帧

💥💥2.1 核心技术

本实例要分解的是视频文件,从中得到每一个视频帧,并且将这些视频帧保存在images文件夹下。其中,在保存视频帧之前,要先命名将要被保存的视频帧。🌴

关键代码如下所示:

frame_name = 1 # 使用数字命名将要被保存的帧

具备了这个标签后,再来编写“将这些视频帧保存在images文件夹下”的代码。需要注意的是,在拼接保存视频帧路径之前,要先把frame_name由整数转为字符串。

关键代码如下所示:

cv2.imwrite("images/" + str(frame_name) + ".jpg", frame) # 保存视频帧

💥💥2.2 实现步骤

首先,使用VideoCapture类的构造方法打开视频文件。然后,读取视频帧。接着,把读取到的视频帧保存在images文件夹下。最后,释放被视频文件占用的空间。

实现步骤流程图如下所示:

opencv获取连续视频帧,OpenCV:基础+应用,opencv,人工智能,计算机视觉,目标检测,深度学习,python

💥💥2.3 实现代码

具体的实现代码如下所示:

import cv2

video = cv2.VideoCapture("1.mp4") # 打开视频文件
frame_name = 1 # 使用数字命名将要被保存的帧
while (video.isOpened()): # 视频文件被打开后
    retval, frame = video.read() # 读取视频帧
    if retval == True: # 读取到视频帧后
        cv2.imwrite("images/" + str(frame_name) + ".jpg", frame) # 保存视频帧
    else: # 没有读取到视频帧
        break # 终止循环
    frame_name = frame_name + 1 # 用于命名将要被保存的帧的数字执行自加操作
    cv2.waitKey(1) # 1毫秒后播放视频文件的下一帧
print("视频已分解完成!") # 控制台输出提示信息
video.release() # 释放被视频文件占用的空间

运行结果如图所示:

opencv获取连续视频帧,OpenCV:基础+应用,opencv,人工智能,计算机视觉,目标检测,深度学习,python

opencv获取连续视频帧,OpenCV:基础+应用,opencv,人工智能,计算机视觉,目标检测,深度学习,python


opencv获取连续视频帧,OpenCV:基础+应用,opencv,人工智能,计算机视觉,目标检测,深度学习,python文章来源地址https://www.toymoban.com/news/detail-768751.html

到了这里,关于OpenCV技术应用(1)— 如何去截取视频中的帧的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据技术在GB28181协议LiteCVR安防视频管理平台中的应用

    大数据技术与视频监控之间存在着紧密的关联和广泛的应用。随着摄像头和视频监控系统的普及和数字化程度的提高,视频监控系统产生的数据量也越来越大。大数据技术可以帮助视频监控系统更好地管理、分析和利用这些数据,提升视频监控系统的效能和价值。 大数据技术

    2024年01月18日
    浏览(32)
  • AI视频智能识别技术在智慧农业大棚升级改造管理场景中的应用方案

    随着科技的进步和农业现代化的推进,智能化技术逐渐成为现代农业发展的重要支撑。农业大棚作为现代农业的重要组成部分,其智能化改造对于提高农业生产效率、降低成本、增加收益具有重要意义。利用先进的信息化手段来对农业大棚进行管理,采集和掌握作物的生长状

    2024年02月21日
    浏览(42)
  • 智慧安防三大信息技术:云计算、大数据及人工智能在视频监控EasyCVR中的应用

    说到三大信息技术大家都很清楚,指的是云计算、大数据和人工智能,在人工智能(AI)快速发展的当下,例如常见的大数据分析、人工智能芯片生产的智能机器人等等,在工作、生活、教育、金融、科技、工业、农业、娱乐等各个领域随处可见,那么三大信息技术在智能监

    2024年02月05日
    浏览(43)
  • 人工智能如何改变物流模式:探讨智能物流技术在配送中的应用

    作者:禅与计算机程序设计艺术 人工智能如何改变物流模式:探讨智能物流技术在配送中的应用 随着人工智能技术的飞速发展,智能物流逐渐成为人们关注的焦点。智能物流是指在物流系统中,利用人工智能技术,对物流过程进行优化、升级和改造,以提高物流效率和降低

    2024年02月07日
    浏览(45)
  • 人工智能技术在智能语音交互中的应用:如何让交互更加智能、便捷和安全,提升用户体验

    作者:禅与计算机程序设计艺术 引言 1.1. 背景介绍 随着人工智能技术的快速发展,智能语音助手已经成为人们生活中不可或缺的一部分。智能语音助手不仅能够帮助人们完成一些琐碎的任务,还能够为人们提供便捷的交互体验。然而,智能语音助手的设计和实现仍然面临着

    2024年02月16日
    浏览(44)
  • 医疗机器人在手术中的应用:如何借助人工智能技术提高手术安全性和效率

    作者:禅与计算机程序设计艺术 在临床医学领域,人工智能技术已经成为热门话题。近年来,人工智能技术得到了广泛的应用,特别是在人体生物学领域。其中最具代表性的就是“机器人在手术中的应用”这一领域。 基于机器人的手术机械臂的研发已经取得了一定的成果,

    2024年02月11日
    浏览(40)
  • 基于5G网络的视频远程操控应用实践——低延迟视频技术及应用

    本次分享将分为三个部分:第一部分介绍低延迟视频所涉及到的关键技术,包括低延迟视频编解码、视频传输、视频处理低延时框架、视频采集和显示;第二部分重点介绍5G环境下低延迟视频对抗弱网提出的要求,包括:弱网状态的探测、拥塞控制等;最后一部分会结合实际

    2024年02月14日
    浏览(24)
  • OpenCV技术应用(7)— 将图像转为热力图

    前言: Hello大家好,我是小哥谈。 本节课就手把手教大家如何将一幅图像转化成热力图,希望大家学习之后能够有所收获~!🌈           目录 🚀1.技术介绍 🚀2.实现代码 🚀1.技术介绍 伪彩色处理 是一种使用 OpenCV 进行图像处理的方式方法。使用伪彩色处理能够很好地

    2024年01月20日
    浏览(33)
  • OpenCV 图像处理算法和技术的应用实践

    图像处理算法和技术在计算机视觉和图像处理领域发挥着重要作用,通过对图像进行分析、增强和转换,可以提取出有用的信息并解决实际问题。本文将以图像处理算法和技术的应用实践为中心,为你介绍一些常见的图像处理算法和技术,并通过实例展示它们在实际应用中的

    2024年02月16日
    浏览(35)
  • 视频场景识别技术:智能家居与智能城市应用

    视频场景识别技术是一种人工智能技术,它可以从视频中识别出场景信息,例如:室内、室外、道路、森林等。这种技术在智能家居和智能城市应用中具有重要意义。在智能家居中,视频场景识别技术可以用于智能家居系统的控制和管理,例如根据场景自动调节灯光、空调、

    2024年02月20日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包