有时候你可能需要将很多图片转换为一个视频,那么就可以用到下面代码
import cv2
import os
from PIL import Image
def PicToVideo(imgPath, videoPath):
images = os.listdir(imgPath)
fps = 25 # 帧率
fourcc = cv2.VideoWriter_fourcc(*"MJPG")
im = Image.open(imgPath + images[0])
videoWriter = cv2.VideoWriter(videoPath, fourcc, fps, im.size)
for im_name in range(len(images)):
frame = cv2.imread(imgPath + images[im_name])
videoWriter.write(frame)
videoWriter.release()
imgPath = "E:/images/"
videoPath = "E:/video.avi"
PicToVideo(imgPath, videoPath)
还有视频转图片
import cv2
def VideoToPic(videoPath, imgPath):
cap = cv2.VideoCapture(videoPath)
# fps = cap.get(cv2.CAP_PROP_FPS) # 获取帧率
# width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) # 获取宽度
# height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) # 获取高度
suc = cap.isOpened() # 是否成功打开
suc, frame = cap.read()
frame_count = 0
while suc:
frame_count += 1
cv2.imwrite(imgPath + str(frame_count).zfill(8) + ".jpg", frame)
suc, frame = cap.read()
cap.release()
videoPath = "E:video.mp4"
imgPath = "E:/images/"
VideoToPic(videoPath, imgPath)
更多硬核技术和编程干货,可以关注公众号获取