参数
在脚本中,split_mode
参数用来指定视频是如何被切分的:
-
'horizontal'
: 表示视频将被水平切分。这意味着每个视频帧被分割成上下两部分。通常,这适用于需要分析视频的上半部或下半部的场景,比如在监控摄像头录像中只关注地面或天空的部分。 -
'vertical'
: 表示视频将被竖直切分。这意味着每个视频帧被分割成左右两部分。这种切分方式适用于视频内容在左右两侧差异较大时,例如在某些体育赛事中,你可能只需要关注场地的一半。
安装库
pip install opencv-python
pip install tqdm
运行代码
import cv2
import os
from glob import glob
from tqdm import tqdm
def process_videos(video_dir, split_mode='horizontal'):
video_files = glob(os.path.join(video_dir, '*.mp4')) # 获取所有mp4视频文件
for video_file in tqdm(video_files, desc="Processing Videos"):
cap = cv2.VideoCapture(video_file)
if not cap.isOpened():
print(f"Error: Could not open video {video_file}.")
continue
frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) # 获取视频帧总数
fps = int(cap.get(cv2.