该代码实现的是对MP4格式的视频文件进行抽帧,并对抽帧的图像进行矩形框选裁剪;
操作流程如下:
- 设置输出文件夹、输入文件夹、需要抽取的帧数
- 这就弹出一个图像,对image窗口进行框选操作,随后会在result窗口对框选后的进行图像预览
- 确认框选区域后,按键盘Q键退出
- 等待输出结果
函数定义
import cv2
import os
global img
global point1, point2
global roi_params
# 初始化全局变量
roi_params = None
#鼠标响应函数
def Rectangular_box(event, x, y, flags, param):
global img, point1, point2
global roi_params
img2 = img.copy()
if event == cv2.EVENT_LBUTTONDOWN: # 左键点击
point1 = (x, y)
cv2.circle(img2, point1, 10, (0, 255, 0), 5)
cv2.imshow('img', img2)
elif event == cv2.EVENT_MOUSEMOVE and (flags & cv2.EVENT_FLAG_LBUTTON): # 按住左键拖曳
cv2.rectangle(img2, point1, (x, y), (255, 0, 0), 5)
cv2.imshow('img', img2)
elif event == cv2.EVENT_LBUTTONUP: # 左键释放
point2 = (x, y