python 视频添加水印
时间: 2023-11-09 20:07:56 浏览: 168
以下是使用 Python 添加视频水印的示例代码:
```python
import cv2
# 加载视频文件
video = cv2.VideoCapture('example.mp4')
# 加载水印图片
watermark = cv2.imread('watermark.png', cv2.IMREAD_UNCHANGED)
# 获取水印的宽度和高度
(wm_height, wm_width, wm_channels) = watermark.shape[:3]
# 定义水印的位置
position = (10, 10)
# 定义水印透明度
alpha = 0.5
# 循环处理每一帧
while True:
# 读取一帧视频
ret, frame = video.read()
# 如果视频结束则退出循环
if not ret:
break
# 将水印叠加到视频帧上
overlay = frame.copy()
overlay[position[1]:position[1]+wm_height, position[0]:position[0]+wm_width] = watermark[:,:,:3]
cv2.addWeighted(overlay, alpha, frame, 1 - alpha, 0, frame)
# 显示当前帧
cv2.imshow('Video', frame)
# 按 'q' 键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源
video.release()
cv2.destroyAllWindows()
```
在此示例代码中,我们首先加载了要添加水印的视频文件和水印图片。然后,我们获取了水印图片的宽度、高度和通道数,并定义了水印的位置和透明度。接下来,我们使用 `VideoCapture` 对象循环处理每一帧视频,将水印叠加到当前帧上,并使用 `imshow` 显示当前帧。最后,我们在按下 'q' 键后释放资源并关闭窗口。
请注意,此示例代码仅添加了静态水印。如果您想要添加动态水印或更复杂的水印效果,可能需要使用更高级的视频编辑库,如 MoviePy 或 PyAV。
阅读全文