Python视频插入水印
时间: 2023-10-07 16:08:48 浏览: 149
可以使用 Python 的 OpenCV 库来实现视频插入水印的功能。具体步骤如下:
1. 导入 OpenCV 库和 numpy 库。
```
import cv2
import numpy as np
```
2. 读入视频文件。
```
cap = cv2.VideoCapture('video.mp4')
```
3. 读取水印图片。
```
watermark = cv2.imread('watermark.png', cv2.IMREAD_UNCHANGED)
```
4. 获取水印图片的宽度和高度。
```
watermark_h, watermark_w, watermark_c = watermark.shape
```
5. 循环读取视频帧,并在每一帧上插入水印。
```
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
# 在帧上插入水印
x_offset = 50
y_offset = 50
frame[y_offset:y_offset+watermark_h, x_offset:x_offset+watermark_w] = watermark
# 显示帧
cv2.imshow('frame', frame)
# 按 'q' 键退出
if cv2.waitKey(25) & 0xFF == ord('q'):
break
```
6. 释放资源。
```
cap.release()
cv2.destroyAllWindows()
```
完整代码如下:
```
import cv2
import numpy as np
# 读入视频文件
cap = cv2.VideoCapture('video.mp4')
# 读取水印图片
watermark = cv2.imread('watermark.png', cv2.IMREAD_UNCHANGED)
# 获取水印图片的宽度和高度
watermark_h, watermark_w, watermark_c = watermark.shape
while cap.isOpened():
ret, frame = cap.read()
if not ret:
break
# 在帧上插入水印
x_offset = 50
y_offset = 50
frame[y_offset:y_offset+watermark_h, x_offset:x_offset+watermark_w] = watermark
# 显示帧
cv2.imshow('frame', frame)
# 按 'q' 键退出
if cv2.waitKey(25) & 0xFF == ord('q'):
break
# 释放资源
cap.release()
cv2.destroyAllWindows()
```
阅读全文