在工作中遇到一个实现问题,将视频画面切割成自己需要的那部分
【比如要将1920*1080的视频取出起点是(0,0),分辨率为456*123的一部分视频画面】
在找了很多案例以后自己写出这个最简单的可用demo,在此记录分享给大家。
#! /usr/bin/env python
#coding=utf-8
import cv2
import numpy as np
import cv2
import tkinter
def videoJDK(cx,cy,vw,vh,url_1,url_2):
videoCapture = cv2.VideoCapture(url_1) # 从文件读取视频
# 判断视频是否打开
if (videoCapture.isOpened()):
print('Open')
else:
print('Fail to open!')
fps = videoCapture.get(cv2.CAP_PROP_FPS) #获取原视频的帧率
size = (int(vw), int(vh))#自定义需要截取的画面的大小
videoWriter = cv2.VideoWriter(url_2, cv2.VideoWriter_fourcc('M', 'J', 'P', 'G'), fps, size)
success, frame = videoCapture.read()#读取第一帧
ints = int(fps)
while success:
print(frame)
frame = frame[cx:cx+vw,cy:cy+vh]#截取画面
# cv2.imshow("Oto Video", f