python+OpenCv笔记(十一):中值滤波

中值滤波:

原理:

中值滤波是一种典型的非线性滤波技术,基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值。

应用:

中值滤波对椒盐噪声来说尤其有用,因为它不依赖于邻域内那些与典型值差别很大的值。

OpenCv API:

cv2.medianBlur(src, ksize)

参数: src: 输入的图像 ksize:卷积核的大小

代码编写:

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

src = cv.imread("E:\\view.jpg")
img = src.copy()

# 调用噪声函数
img_sp = sp_noise(img, prob=0.02)  # 噪声比例为0.02

# 中值滤波
img_median = cv.medianBlur(img_sp, 5)

# 显示图像
cv.imshow("sp_noise", img_sp)
cv.imshow("medianBlur", img_median)
cv.waitKey(0)

 注:sp_noise()函数见文章:python+OpenCv笔记(八):图像噪声(椒盐噪声、高斯噪声)https://blog.csdn.net/qq_45832961/article/details/122309422

椒盐噪声图片:

中值滤波后:

总结:

1.均值滤波︰算法简单,计算速度快,在去噪的同时去除了很多细节部分,将图像变得模糊
cv2.blur()

2.高斯滤波:去除高斯噪声
cv2.GaussianBlur()

3.中值滤波:去除椒盐噪声
cv2.medianBlur()

猜你喜欢

转载自blog.csdn.net/qq_45832961/article/details/122370280