python opencv 给视频编辑文字
时间: 2023-07-27 13:31:09 浏览: 168
可以使用 OpenCV 库中的 cv2.putText() 函数来给视频添加文字。下面是一个示例代码,可以将文字添加到视频中:
```python
import cv2
# 打开视频文件
cap = cv2.VideoCapture('video.mp4')
# 获取视频帧率
fps = int(cap.get(cv2.CAP_PROP_FPS))
# 定义视频编解码器、视频宽高、输出视频文件名
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
width, height = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
out = cv2.VideoWriter('output.mp4', fourcc, fps, (width, height))
# 定义要添加的文字
text = "Hello, World!"
# 循环读取视频帧并添加文字
while True:
ret, frame = cap.read()
if not ret:
break
# 在视频帧上添加文字
cv2.putText(frame, text, (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
# 写入输出视频文件
out.write(frame)
# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
```
在代码中,我们首先使用 cv2.VideoCapture() 函数打开视频文件,并获取视频的帧率。然后定义了视频编解码器、视频宽高和输出视频文件名,并创建了一个 cv2.VideoWriter 对象。接着进入循环,读取视频帧并在每一帧上添加文字,最后将帧写入输出视频文件。最后释放资源,程序结束。
需要注意的是,cv2.putText() 函数的参数含义如下:
- frame: 待添加文字的视频帧
- text: 要添加的文字内容
- (50, 50): 文字左下角的坐标
- cv2.FONT_HERSHEY_SIMPLEX: 字体类型
- 1: 字体大小
- (0, 255, 0): 文字颜色
- 2: 文字粗细
阅读全文