用python和opencv写一个视频降噪后输出到桌面的程序
时间: 2024-03-24 10:37:42 浏览: 129
好的,以下是一个简单的用 Python 和 OpenCV 实现视频降噪的程序,输出结果为 .avi 格式的视频文件。
```python
import cv2
# 打开视频文件
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('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`,可以根据需要修改。此外,程序中的降噪处理使用的是 OpenCV 中的 `fastNlMeansDenoisingColored` 方法,可以根据具体需求选择不同的降噪方法。
阅读全文