图片串成视频:
#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)
本文介绍了一种使用Python将图片文件序列合成为视频的方法。通过详细解释代码实现过程,包括创建图片路径列表、按顺序排序及利用OpenCV库生成指定帧率和分辨率的视频文件。适用于希望了解自动化图像转视频流程的读者。
&spm=1001.2101.3001.5002&articleId=115800473&d=1&t=3&u=baa894c5db6048cfae424cf91aef3df9)
453

被折叠的 条评论
为什么被折叠?



