小小wenl 发表于 2021-8-6 15:42

不到1kb的视频逐帧提取工具[Python]

本帖最后由 小小wenl 于 2021-8-26 22:53 编辑

能力有限,试了很多次都没法打包成功,学业繁忙,暂时没有时间做这个项目,下个假期有空我再继续
功能演示
https://picture-1300689095.file.myqcloud.com/2021/08/06/0e677e8a06cb0.gif

使用方式
命令行中执行,将视频拉至窗口即可逐帧提取图像
默认生成在视频同目录下
源码中可更改每隔多少帧提取一张

源码
import os
import cv2
import windnd
from tkinter import *

def video_to_imgs(sourceFile):
      video_path = os.path.join("", "", sourceFile+'.MP4')
      times=0
      frameFrequency=30 #在此处更改每X帧截取一张
      outPutDirName=''+sourceFile+'\\'
      if not os.path.exists(outPutDirName):
                os.makedirs(outPutDirName)
      cap = cv2.VideoCapture(video_path)
      while True:
                times+=1
                res, image = cap.read()
                if not res:
                        break
                if times%frameFrequency==0:
                        cv2.imencode('.jpg', image).tofile(outPutDirName + str(times)+'.jpg')
                        print(outPutDirName + str(times)+'.jpg')
      cap.release()
      print('已输出至' + sourceFile + '\\')
def accept_video(files):
      print(files.decode('GBK'))
      video_to_imgs(files.decode('GBK'))
tk = Tk()
tk.wm_attributes('-topmost',1)
tk.title("视频逐帧提取丨吾爱破解")
windnd.hook_dropfiles(tk, func=accept_video)
tk.mainloop()

小小wenl 发表于 2021-8-6 17:08

zrf1980 发表于 2021-8-6 16:58
需要安装python吗

需要的,我晚一些打包一份出来

小小wenl 发表于 2021-8-6 18:38

songbing490 发表于 2021-8-6 18:22
看着还不错生成图片的尺寸是不是按照影片的尺寸生成的呢    速度怎么样对于时间长的动画

是的,原视频多大新的就有多大
速度我晚上测试一下,应该取决于cpu的速度

h0756abc 发表于 2021-8-6 16:08

感谢分享谢谢

JuncoJet 发表于 2021-8-6 16:12

OpenCV 这么牛逼的么

a19375134 发表于 2021-8-6 16:15


谢谢楼主分享

tt1012 发表于 2021-8-6 16:15

一部电影能去取几万张图吗

wysyz 发表于 2021-8-6 16:15

感谢分享谢谢

pdadet 发表于 2021-8-6 16:25

都是高手啊{:1_921:}

starlow 发表于 2021-8-6 16:29

感谢大佬制作,

JaychouV5 发表于 2021-8-6 16:30

tkinter的程序10M起步,不可能低于1kb

dycheng 发表于 2021-8-6 16:32

慢动作细看
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 不到1kb的视频逐帧提取工具[Python]