用python和opencv写一个视频降噪后保存到桌面的程序
时间: 2023-11-30 12:02:39 浏览: 142
好的,下面是一个用 Python 和 OpenCV 实现视频降噪并保存到桌面的程序。
```python
import cv2
import os
# 打开视频文件
cap = cv2.VideoCapture('input_video.mp4')
# 获取视频帧率和宽高
fps = int(cap.get(cv2.CAP_PROP_FPS))
width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 创建输出视频对象
fourcc = cv2.VideoWriter_fourcc(*'XVID')
out = cv2.VideoWriter(os.path.expanduser("~/Desktop/output_video.avi"), fourcc, fps, (width, height))
# 读取视频帧并进行降噪处理
while cap.isOpened():
ret, frame = cap.read()
if ret == True:
# 进行降噪处理
frame = cv2.fastNlMeansDenoisingColored(frame, None, 10, 10, 7, 21)
# 将降噪后的帧写入输出视频对象
out.write(frame)
# 显示处理后的帧
cv2.imshow('frame', frame)
# 按下 q 键退出
if cv2.waitKey(1) & 0xFF == ord('q'):
break
else:
break
# 释放资源
cap.release()
out.release()
cv2.destroyAllWindows()
```
需要注意的是,程序中的 `input_video.mp4` 是需要替换成实际的输入视频文件名,而程序输出的视频文件名为 `output_video.avi`,保存到桌面上。程序中使用了 `os.path.expanduser("~/Desktop/output_video.avi")` 来获取桌面目录的路径,可以根据具体需求修改输出路径。此外,程序中的降噪处理使用的是 OpenCV 中的 `fastNlMeansDenoisingColored` 方法,可以根据具体需求选择不同的降噪方法。
阅读全文