一 安装opencv-python
pip install opencv-python
二 创建unlock_mv.py 文件, 在unlock_mv.py同级目录创建mv文件夹
- import os
- import cv2
- from PIL import Image
-
-
- def unlock_mv(sp):
- """ 将视频转换成图片
- sp: 视频路径 """
- cap = cv2.VideoCapture(sp)
- suc = cap.isOpened() # 是否成功打开
- frame_count = 0
- while suc:
- frame_count += 1
- suc, frame = cap.read()
- params = []
- params.append(2) # params.append(1)
- cv2.imwrite('mv\\%d.jpg' % frame_count, frame, params)
-
- cap.release()
- print('unlock image: ', frame_count)
-
-
- def jpg2video(sp, fps):
- """ 将图片合成视频. sp: 视频路径,fps: 帧率 """
- fourcc = cv2.VideoWriter_fourcc(*"MJPG")
- images = os.listdir('mv')
- im = Image.open('mv/' + images[0])
- vw = cv2.VideoWriter(sp, fourcc, fps, im.size)
-
- os.chdir('mv')
- for image in range(len(images)):
- # Image.open(str(image)+'.jpg').convert("RGB").save(str(image)+'.jpg')
- jpgfile = str(image + 1) + '.jpg'
- try:
- frame = cv2.imread(jpgfile)
- vw.write(frame)
- except Exception as exc:
- print(jpgfile, exc)
- vw.release()
- print(sp, 'Synthetic success!')
-
-
- if __name__ == '__main__':
- sp = "智能AI科技机器人.mp4"
- sp_new = '智能AI科技机器人_new.avi'
- unlock_mv(sp) # 视频转图片
- jpg2video(sp_new, 28) # 图片转视频
-
三 、下载 一个视频文件, 我用的是一个视频素材 《智能AI科技机器人.mp4》 然后执行程序,最终会在mv目录下生成多张图片,在当前目录下生成一个《智能AI科技机器人_new.avi》的视频文件
注:此代码只是个人根据当时的环境满足了当时的需求,记录下来用做后续参考!如有问题,请检查软硬件环境是否一致,由于时间精力有限,大部分未做详细环境描述。