[opencv]图像处理-均值滤波/方框滤波/高斯滤波/中值滤波

1.代码:

import cv2
import matplotlib.pyplot as plt
import numpy as np

# 原图
img = cv2.imread('E:/img/4.jpg')

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 均值滤波
# 简单的平均卷积操作
blur=cv2.blur(img,(3,3))

cv2.imshow('blur',blur)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 方框滤波
# 基本和均值一样,可以选择归一化
box=cv2.boxFilter(img,-1,(3,3),normalize=True)

cv2.imshow('box',box)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 高斯滤波
# 高斯模糊的卷积
aussian=cv2.GaussianBlur(img,(5,5),1)

cv2.imshow('aussian',aussian)
cv2.waitKey(0)
cv2.destroyAllWindows()

# 中值滤波
# 利用中值替换
median = cv2.medianBlur(img,5)

cv2.imshow('median',median)
cv2.waitKey(0)
cv2.destroyAllWindows()

2.效果

原图:

 

 均值滤波:

 

 方框滤波:

 

 高斯滤波:

 

 中值滤波:

 

 各个比较,中值滤波去除噪音的效果较好。

posted @ 2020-04-19 19:15  雾霾王者  阅读(672)  评论(0编辑  收藏  举报