让mp4格式的视频具有运动模糊效果并保存的Python代码
时间: 2024-03-31 10:33:50 浏览: 140
要实现运动模糊效果,可以使用OpenCV库中的cv2.filter2D函数。以下是一个可以将mp4格式的视频添加运动模糊效果并保存的Python代码示例:
```python
import cv2
# 打开视频文件
video = cv2.VideoCapture('input.mp4')
# 获取视频帧率和分辨率
fps = int(video.get(cv2.CAP_PROP_FPS))
width = int(video.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(video.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 创建输出视频文件
fourcc = cv2.VideoWriter_fourcc(*'mp4v')
out = cv2.VideoWriter('output.mp4', fourcc, fps, (width, height))
# 定义运动模糊核
kernel_size = 30
kernel = np.zeros((kernel_size, kernel_size), np.float32)
kernel[int((kernel_size-1)/2), :] = np.ones(kernel_size, np.float32)/kernel_size
# 读取视频帧并添加运动模糊效果
while True:
ret, frame = video.read()
if not ret:
break
# 应用运动模糊
blurred = cv2.filter2D(frame, -1, kernel)
# 将结果写入输出视频文件
out.write(blurred)
# 释放资源
video.release()
out.release()
cv2.destroyAllWindows()
```
在上面的代码中,我们首先打开输入视频文件,然后获取视频的帧率和分辨率。接着,我们创建输出视频文件,并定义一个运动模糊核。在处理每一帧时,我们使用cv2.filter2D函数应用运动模糊,然后将结果写入输出视频文件。最后,我们释放资源并关闭所有窗口。
请注意,这只是一个简单的示例代码,你可能需要根据你的需求进行修改。
阅读全文