大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
利用cv2提取视频帧,可以逐帧提取,也可以跳跃读取。
cv2即OpenCV,安装命令如下:
conda install opencv
# or
pip install opencv
在读取过程中,需要对文件名进行规范,通过以下命令进行填充:
.zfill(num) # num指的是填充会的位数
import cv2
import os
# 要提取视频的文件名,隐藏后缀
sourceFileName = 'Fog20200313000026'
# 在这里把后缀接上
video_path = os.path.join(sourceFileName + '.mp4')
times = 0
# 提取视频的频率,每375帧提取一个
frameFrequency = 375
# 输出图片到当前目录vedio文件夹下
outPutDirName = 'vedio/' + sourceFileName + '/'
if not os.path.exists(outPutDirName):
# 如果文件目录不存在则创建目录
os.makedirs(outPutDirName)
camera = cv2.VideoCapture(video_path)
counter = 0
while True:
# 读取指定数量的帧
if counter <= 1920:
times += 1
res, image = camera.read()
if not res:
print('not res , not image')
break
if times % frameFrequency == 0:
counter += 1
cv2.imwrite(outPutDirName + str(counter).zfill(4) + '.jpg', image)
print(outPutDirName + str(counter) + '.jpg')
else:
break
print('图片提取结束')
camera.release()
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/184839.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...