数字图像处理实验一 实现一个在视频叠加字幕的程序。鼠标点击屏幕,关闭或打开字幕

mac2026-01-21  5

标题 5.请参考本实验手册,实现一个在视频叠加字幕的程序。鼠标点击屏幕,关闭或打开字幕。

# 实现读取视频文件,显示视频文件 # 实现鼠标点击开关字幕 import cv2 cap = cv2.VideoCapture('vtest.avi') # 打开视频文件 font = cv2.FONT_HERSHEY_SIMPLEX # 设置字幕字体 flag = True # 标识字幕开关与否 # 鼠标处理函数 # 如果监听到按键,则将字幕状态取非 def caption(event, x, y, flags, param): if event == cv2.EVENT_LBUTTONDOWN: global flag flag = not flag # 创建一个窗口,并将鼠标处理函数绑定到该窗口 cv2.namedWindow('frame') cv2.setMouseCallback('frame', caption) while cap.isOpened(): ret, frame = cap.read() # 读取一幅图片 if ret: # gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # 显示灰度图片 if flag: # 根据flag的状态决定是否要显示字幕 cv2.putText(frame, 'this is message', (10, 500), font, 2, (255, 255, 255), 2, cv2.LINE_AA) # 参数注释: 窗口 输出字符串 坐标 字体 字号 颜色 粗细 线条类型 cv2.imshow('frame', frame) if cv2.waitKey(50) & 0xFF == ord('q'): # 用waitKey调整视频播放速度 break cap.release() cv2.destroyAllWindows()
最新回复(0)