利用opencv在视频上叠加画线
时间: 2023-11-19 12:06:29 浏览: 99
使用opencv来对视频文件进行osd叠加
您可以使用OpenCV库在视频上叠加画线。下面是一个基本的示例代码,可以在视频的每一帧上绘制一条线。
```python
import cv2
# 打开视频文件
video = cv2.VideoCapture('path/to/video.mp4')
# 检查视频是否成功打开
if not video.isOpened():
print("无法打开视频文件")
exit()
# 获取视频的宽度和高度
width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 创建VideoWriter对象,用于保存输出视频
fourcc = cv2.VideoWriter_fourcc(*'XVID')
output = cv2.VideoWriter('path/to/output.mp4', fourcc, 24.0, (width, height))
# 读取视频的每一帧并处理
while video.isOpened():
ret, frame = video.read()
if not ret:
break
# 在帧上绘制一条线
cv2.line(frame, (0, 0), (width, height), (0, 255, 0), 2)
# 显示处理后的帧
cv2.imshow('Frame', frame)
# 将处理后的帧写入输出视频文件
output.write(frame)
# 按下'q'键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源
video.release()
output.release()
cv2.destroyAllWindows()
```
这段代码会打开指定路径的视频文件,并对每一帧进行处理。在每一帧上绘制了一条从左上角到右下角的绿色线段。处理后的帧会显示在一个窗口中,并保存到指定路径的输出视频文件中。您可以根据需要修改绘制线段的位置、颜色、粗细等参数。
阅读全文