就是把一个文件夹里的视频都切成图片,最大的问题是命名问题,如果能有个更一些的命名就好了,现在想要按顺序排列就只能把文件排序方式改成按时间,而且只能把图片存到原视频文件夹下
#获取文件夹内的视频名
def file_name(file_dir):
for root, dirs, files in os.walk(file_dir):
return files
files = file_name('d:/chuyiyingyu/avi/')
#把视频名称变成路径
for i in range(len(files)):
files[i] = 'd:/chuyiyingyu/avi/' + str(files[i])
#读取文件内的视频
for a in range(len(files)):
vc = cv2.VideoCapture(files[a])
c = 1
if vc.isOpened():
rval,frame = vc.read()
else:
rval = False
print ('false')
#截取间隔帧数设置为4000
timeF = 4000
#截取视频
while rval:
rval, frame = vc.read()
if(c%timeF == 0):
cv2.imwrite(str(files[a])[0:22] + str(int(c/4000)) + '.png', frame)
print(str(files[a])[0:22] + str(int(c/4000)) + '.png' + ' saved successfully!')
c = c + 1
cv2.waitKey(1)
vc.release()