步骤一:图片批量重命名
参考博客《Windows下对文件夹下所有图片批量重命名(附C++,python,matlab代码)》
图片批量重命名类:
- file_path_src:把你待处理的图片全部放进这个文件夹
- file_path_dst:批量重命名后的图片文件夹
import os
import cv2
import shutil
# 需要批处理的图片文件夹
file_path_src = r'D:\images_src'
# 批处理结果的文件夹
file_path_dst = r'D:\images_dst'
class BatchRename():
'''
批量重命名文件夹中的图片文件
'''
def __init__(self):
self.path_src = file_path_src
self.path_dst = file_path_dst
def rename(self):
#os.listdir() 方法用于返回指定的文件夹包含的文件或文件夹的名字的列表。这个列表以字母顺序
filelist = os.listdir(self.path_src)
print(filelist)
total_num = len(filelist) #获取文件夹内所有文件个数
#print(total_num)
i = 0 #表示文件的命名是从0开始的
for item in filelist:
if item.endswith('.jpg'):
src = os.path.join(os.path.abspath(self.path_src), item)
dst = os.path.join(os.path.abspath(self.path_dst), str(i) + '.jpg')
shutil.copyfile(src, dst)
print('converting %s to %s ...' % (src, dst))
i = i + 1
print ('total %d to rename & converted %d jpgs' % (total_num, i))
批处理:
batchrename = BatchRename()
batchrename.rename()
步骤二:将图片转为avi视频
# 图片转视频
def image_to_video_fun(image_path, video_path, video_name, fps, size):
# image_path: 图像保存地址
# video_path: 视频地址
# video_name: 视频名
# fps: 帧率
file_list = os.listdir(image_path)
print(file_list)
fourcc = cv2.VideoWriter_fourcc('X','V','I','D')
videoWriter = cv2.VideoWriter(video_path + '/' + video_name, fourcc, fps, size)
for file_name in file_list:
img = cv2.imread(file_path + '/' + file_name, 1)
img = cv2.resize(img, size)
videoWriter.write(img)
videoWriter.release()
将批处理图片转为test.avi视频,该视频帧率为2,大小调整为480*480。
image_path = r'D:\images_dst'
video_path = r'D:\images_dst'
video_name = 'test.avi'
fps = 2
size = (480, 480)
image_to_video_fun(image_path, video_path, video_name, fps, size)
步骤三:将avi视频转为h264文件
1、下载ffmpeg,下载地址:http://www.ffmpeg.org/download.html
2、解压即可,进入bin文件夹,将test.avi复制进该文件
3、打开cmd窗口,cd到bin文件夹,使用命令
ffmpeg -i test.avi -vcodec h264 -an -f m4v test.h264
这样在相同文件夹下生成h264文件。