视频转图片(opencv+python)
video2imgs 函数视频转图片操作pick_imgs 函数对视频帧筛选,隔帧取样操作注意:两个代码是独立运行的,pick_imgs 的操作其实是可以合并在 video2imgs 函数里面的,这里的 pick_imgs 函数有点冗余了import cv2import numpy as npimport globimport shutilimport osdef video2imgs(vd_di
·
video2imgs 函数
视频转图片操作
pick_imgs 函数
对视频帧筛选,隔帧取样操作
注意:两个代码是独立运行的,pick_imgs 的操作其实是可以合并在 video2imgs 函数里面的,这里的 pick_imgs 函数有点冗余了
import cv2
import numpy as np
import glob
import shutil
import os
def video2imgs(vd_dir,vd_idx):
video_dir = vd_dir
cap = cv2.VideoCapture(video_dir)
assert cap.isOpened(),"视频读取失败!"
success = True
frame_count = 0
video_index = vd_idx
while(success):
success, frame = cap.read()
if success:
if frame_count % 1 == 0:
print("读取一帧......")
'''视频帧保存'''
'''video_index是视频的id,frame_count帧的id,frame是一帧图像'''
cv2.imwrite("E:/DL/yolov5/zhi_video/frames/vd%d_%08d.jpg" % (video_index,frame_count), frame)
frame_count = frame_count + 1
else:
print("结束了")
cap.release()
def pick_imgs(gap):
k = 0
for img_dir in glob.glob("E:/DL/yolov5/litchi_video/images/"+"*.jpg"):
img_save_dir = os.path.join("E:/DL/yolov5/litchi_video",'imgs')
k = k+1
if k == gap:
k = 0
print("---分隔帧采样---")
if os.path.exists(img_save_dir):
shutil.copy(img_dir, img_save_dir)
if __name__ == "__main__":
'''第一个参数是视频路径,第二个参数是视频的id(用于每一帧图片的命名)'''
video2imgs("E:/DL/yolov5/zhi_video/DJI_0124.MOV",2)
'''这是对视频帧做隔帧采样,2是指隔1帧取一张'''
#pick_imgs(2)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)