【OpenCV--图像平滑】

目录

一、图像噪声

二、图像平滑

三、均值滤波

四、高斯滤波

五、中值滤波

一、图像噪声

 1.描述:在图像采集、处理、传输过程中,会受到噪声的污染,妨碍对图像的理解以及分析处理,常见的图像噪声有高斯噪声、椒盐噪声等

2.椒盐噪声:也称为脉冲噪声,是一种随机出现的黑点或白点,可能是亮区域有黑色像素,也可能是暗区域有白色像素,成因可能是影像讯号受到强烈干扰

 3.高斯噪声:是指噪声密度函数服从高斯分布的一类噪声

二、图像平滑

1.描述:图像平滑指去除其中高频信息,保留低频信息,对图像实施低通滤波,以去除图像中的噪声,对图像进行平滑

2.根据滤波器不同,可以分为均值滤波、高斯滤波、中值滤波、双边滤波

三、均值滤波

1.均值滤波算法简单,计算速度快,但是在去除噪声同时去除了很多细节,使图像变得模糊

cv.blur(src,ksize,anchor,borderType)

参数:

src:输入图像

ksize:卷积核大小

anchor:默认值(-1,-1)表示核中心

borderType:边界类型

2.示例:

import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
img=cv.imread('girl.png')
#进行滤波
img1=cv.blur(img,(5,5))
plt.imshow(img1[:,:,::-1])
plt.show()

 四、高斯滤波

 1.高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,高斯滤波对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到

cv.GaussianBlur(src,ksize,sigmax,sigmay,borderType)

参数:

ksize:卷积核宽度高度都为奇数,且可以不同

sigmax:水平方向标准差

sigmay:垂直方向标准差

2.示例:

import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
img=cv.imread('girl.png')
img1=cv.GaussianBlur(img,(3,3),1)
plt.imshow(img1[:,:,::-1])
plt.show()

 五、中值滤波

1.中值滤波是一种典型的非线性滤波技术,用像素点邻域灰度值的中值代替该点像素点的灰度值,中值滤波对椒盐噪声尤其有用

cv.medianBlur(src,ksize)

参数:

ksize:卷积核是一个整数

2.示例:

import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt
img=cv.imread('girl.png')
img1=cv.medianBlur(img,5)
plt.imshow(img1[:,:,::-1])
plt.show()

 

猜你喜欢

转载自blog.csdn.net/m0_70964767/article/details/127160241