python代码把GIF 转成视频

YOLO 模型本身不直接支持 GIF 文件 ,因为 cv2.VideoCapture 和大多数深度学习模型只接受视频(MP4、AVI 等)或者图片序列。GIF 是多帧动画,但它不是标准的视频容器,所以不能直接用 VideoCapture 读。

方案 1:把 GIF 转成视频,用 moviepyimageio 转成 MP4

复制代码
from moviepy.editor import VideoFileClip

gif_path = "fight.gif"
video_path = "fight_from_gif.mp4"

clip = VideoFileClip(gif_path)
clip.write_videofile(video_path, fps=25)

方案 2:把 GIF 拆成帧

如果你只想处理帧,也可以拆帧(这种方式不生成视频,只能在内存中处理。):

复制代码
from PIL import Image
import cv2
import numpy as np

gif_path = "fight.gif"
im = Image.open(gif_path)

frames = []
try:
    while True:
        frame = np.array(im.convert("RGB"))
        frames.append(frame)
        im.seek(im.tell() + 1)
except EOFError:
    pass

# frames 是一个列表,每个元素是 numpy 数组
# 可以用你的 fight_model 逐帧检测
for frame in frames:
    results = fight_model(frame, conf=0.6, iou=0.2)
    # ...同之前处理
  • GIF → 视频(推荐) → YOLO 处理
  • 或 GIF → 拆帧 → YOLO 逐帧处理
相关推荐
Ulyanov25 分钟前
《PySide6 GUI开发指南:QML核心与实践》 第二篇:QML语法精要——构建声明式UI的基础
java·开发语言·javascript·python·ui·gui·雷达电子对抗系统仿真
码界筑梦坊28 分钟前
357-基于Java的大型商场应急预案管理系统
java·开发语言·毕业设计·知识分享
anzhxu33 分钟前
Go基础之环境搭建
开发语言·后端·golang
刀法如飞1 小时前
一款Python语言Django框架DDD脚手架,助你快速搭建项目
python·ddd·脚手架
刀法如飞1 小时前
一款Python语言Django框架DDD脚手架,适合中大型项目
后端·python·领域驱动设计
yu85939581 小时前
基于MATLAB的随机振动仿真与分析完整实现
开发语言·matlab
赵钰老师1 小时前
【结构方程模型SEM】最新基于R语言结构方程模型分析
开发语言·数据分析·r语言
guygg881 小时前
利用遗传算法解决列车优化运行问题的MATLAB实现
开发语言·算法·matlab
gihigo19981 小时前
基于MATLAB实现NSGA-III的土地利用空间优化模型
开发语言·matlab
MediaTea1 小时前
Scikit-learn:数据集
人工智能·python·机器学习·scikit-learn