OpenCV技术应用(8)— 如何将视频分解

**前言:****Hello大家好,我是小哥谈。**本节课就手把手教大家如何将一幅图像转化成热力图,希望大家学习之后能够有所收获~!🌈

目录

🚀1.技术介绍

🚀2.实现代码

🚀1.技术介绍

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

在保存视频帧之前,要先命名将要被保存的视频帧。关键代码如下所示:

python 复制代码
frame_name = 1 # 使用数字命名将要被保存的帧

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

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

🚀2.实现代码

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

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

python 复制代码
import cv2

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

运行结果如下所示:


相关推荐
测试人社区—667928 分钟前
破茧成蝶:DevOps流水线测试环节的效能跃迁之路
运维·人工智能·学习·flutter·ui·自动化·devops
Lethehong1 小时前
openEuler AI 图像处理:Stable Diffusion CPU 推理性能优化与评测
人工智能
Guheyunyi2 小时前
智慧停车管理系统:以科技重塑交通效率与体验
大数据·服务器·人工智能·科技·安全·生活
std860212 小时前
微软将允许用户从Windows 11文件资源管理器中移除“AI 动作”入口
人工智能·microsoft
为爱停留2 小时前
Spring AI实现MCP(Model Context Protocol)详解与实践
java·人工智能·spring
秋刀鱼 ..2 小时前
第七届国际科技创新学术交流大会暨机械工程与自动化国际学术会议(MEA 2025)
运维·人工智能·python·科技·机器人·自动化
cici158742 小时前
基于不同算法的数字图像修复Matlab实现
算法·计算机视觉·matlab
学历真的很重要8 小时前
VsCode+Roo Code+Gemini 2.5 Pro+Gemini Balance AI辅助编程环境搭建(理论上通过多个Api Key负载均衡达到无限免费Gemini 2.5 Pro)
前端·人工智能·vscode·后端·语言模型·负载均衡·ai编程
普通网友8 小时前
微服务注册中心与负载均衡实战精要,微软 2025 年 8 月更新:对固态硬盘与电脑功能有哪些潜在的影响。
人工智能·ai智能体·技术问答
苍何8 小时前
一人手搓!AI 漫剧从0到1详细教程
人工智能