1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| import cv2 import numpy as np
videoLeftUp = cv2.VideoCapture('./video/1.mp4') videoLeftDown = cv2.VideoCapture('./video/2.mp4') videoRightUp = cv2.VideoCapture('./video/3.mp4') videoRightDown = cv2.VideoCapture('./video/4.mp4')
fps = videoLeftUp.get(cv2.CAP_PROP_FPS)
width = (int(videoLeftUp.get(cv2.CAP_PROP_FRAME_WIDTH))) height = (int(videoLeftUp.get(cv2.CAP_PROP_FRAME_HEIGHT)))
videoWriter = cv2.VideoWriter('./merge.mp4', cv2.VideoWriter_fourcc('m', 'p', '4', 'v'), fps, (width, height))
successLeftUp, frameLeftUp = videoLeftUp.read() successLeftDown , frameLeftDown = videoLeftDown.read() successRightUp, frameRightUp = videoRightUp.read() successRightDown, frameRightDown = videoRightDown.read()
while successLeftUp and successLeftDown and successRightUp and successRightDown: frameLeftUp = cv2.resize(frameLeftUp, (int(width / 2), int(height / 2)), interpolation=cv2.INTER_CUBIC) frameLeftDown = cv2.resize(frameLeftDown, (int(width / 2), int(height / 2)), interpolation=cv2.INTER_CUBIC) frameRightUp = cv2.resize(frameRightUp, (int(width / 2), int(height / 2)), interpolation=cv2.INTER_CUBIC) frameRightDown = cv2.resize(frameRightDown, (int(width / 2), int(height / 2)), interpolation=cv2.INTER_CUBIC)
frameUp = np.hstack((frameLeftUp, frameRightUp)) frameDown = np.hstack((frameLeftDown, frameRightDown)) frame = np.vstack((frameUp, frameDown))
videoWriter.write(frame) successLeftUp, frameLeftUp = videoLeftUp.read() successLeftDown, frameLeftDown = videoLeftDown.read() successRightUp, frameRightUp = videoRightUp.read() successRightDown, frameRightDown = videoRightDown.read()
videoWriter.release() videoLeftUp.release() videoLeftDown.release() videoRightUp.release() videoRightDown.release()
|