python代码把GIF 转成视频

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

方案 1:把 GIF 转成视频,用 moviepy 或 imageio 转成 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 逐帧处理
相关推荐
DeepVisionary2 分钟前
为拿并网许可,OpenAI在佐治亚新园区同意高峰期断电三成
python·自动化
揽星河..18 分钟前
【C语言】指针
c语言·开发语言
小小数媒成员35 分钟前
UGUI原理(一)
开发语言·游戏·unity·游戏引擎
VIP_CQCRE1 小时前
内容自动化越跑越乱?先补上状态、去重和失败恢复
python·ai·工作流·幂等设计·内容自动化
速易达网络1 小时前
Three.js 动画入门教学:从场景搭建到流畅动效
开发语言·javascript·ecmascript
福大大架构师每日一题1 小时前
excelize v2.11.1发布:Go 1.26.0起步,16项安全修复与嵌入对象能力全面升级
开发语言·安全·golang
我喜欢就喜欢1 小时前
RAG 重排序 Rerank 实战:用 bge-reranker 把 Top-K 命中率拉回来
python·大模型·向量检索·rag·rerank
Sarvartha1 小时前
集合概述 & Collection 接口
开发语言
专注仿真1 小时前
卷积神经网络(CNN)算法详解
人工智能·python·算法·代码·大模型训练