图片串成视频:
#coding:utf-8
import cv2
import os
def make_list(img_dir,img_list):
with open(img_list,'w') as fn:
for path,_,filenames in os.walk(img_dir):
for file in filenames:
if file.endswith('.jpg'):
print(os.path.join(img_dir,file))
fn.write(os.path.join(img_dir,file)+'\n')
os.system('sort %s -o %s'%(img_list,img_list))
return img_list
def make_video(img_list):
fps = 40 #保存视频的FPS,可以适当调整
#图片大小很关键,大小不对生成的视频就无法读取
size=(704,576)
fourcc = cv2.VideoWriter_fourcc(*'XVID')
videoWriter = cv2.VideoWriter('/data/0-datasets/boat/demo_0416.mp4',fourcc,fps,size)#最后一个是保存图片的尺寸
# f=open('/data/project/boat/selected/vis_gt/full2.lst','r')
f=open(img_list)
img_path='/'
count=0
import os
lines=f.readlines()
for i in range(len(lines)):
name=lines[i].rstrip().replace('./','')
print(name)
# if i%2==0 and i<650:
# name=os.path.join(img_path,name)
name=name
# num=int((name.split('/')[-1]).split('.')[0])
# if i<150: #and num<450:
frame = cv2.imread(name)
videoWriter.write(frame)
videoWriter.release()
def hand_make_list(img_dir,img_list):
fn=open(img_list,'w')
for i in range(1,291):
fn.write(img_dir+'%d.jpg'%i+'\n')
return img_list
img_dir='/data/0-datasets/boat/imgs/'
# img_list=hand_make_list(img_dir,img_list='./list.lst')
img_list=make_list(img_dir,img_list='./list.lst')
make_video(img_list)