opencv视频切割工具
编写了一个视频切割的小工具,可以传入待切割视频路径和切割后视频路径,通过画框选取想要切割的视频来实现视频切割
import cv2
def cut_video(video_path,new_video_path):
cap = cv2.VideoCapture(video_path)
ret, frame = cap.read()
h, w, _ = frame.shape
fps = cap.get(cv2.CAP_PROP_FPS)
fourcc = cv2.VideoWriter_fourcc(*"XVID")
bbox = cv2.selectROI('cut_video', frame)
x1, y1, x2, y2 = bbox[0], bbox[1], bbox[0] + bbox[2], bbox[1] + bbox[3]
new_size = bbox[2], bbox[3]
out = cv2.VideoWriter(new_video_path, fourcc, fps, new_size, True)
while True:
ret, frame = cap.read()
if ret == True:
new_frame = frame[y1: y2, x1:x2, :]
cv2.imshow("cut_video", new_frame)
out.write(new_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
out.release()
cv2.destroyAllWindows()