OpenCV中可以使用多种方法进行图像平滑处理,其中包括:
1、均值滤波:对图像中的每一个像素取周围一定像素的平均值,得到一个新的像素值来代替原像素值。
使用函数cv2.blur()可实现均值滤波,具体用法如下:
import cv2
# 读取原始图像
img = cv2.imread('image.jpg')
# 进行均值滤波处理
blur = cv2.blur(img, (3, 3))
# 显示处理结果
cv2.imshow("Blur Image", blur)
cv2.waitKey(0)
2、高斯滤波:对图像中的每一个像素取周围一定像素的加权平均值,以此得到一个新的像素值来代替原像素值。其中,权值是根据高斯函数来计算的。
使用函数cv2.GaussianBlur()可实现高斯滤波,具体用法如下:
import cv2
# 读取原始图像
img = cv2.imread('image.jpg')
# 进行高斯滤波处理
blur = cv2.GaussianBlur(img, (5, 5), 0)
# 显示处理结果
cv2.imshow("Gaussian Blur Image", blur)
cv2.waitKey(0)
3、中值滤波:对图像中的每一个像素取周围一定像素的中值,得到一个新的像素值来代替原像素值。中值滤波对去除椒盐噪声等特殊噪声效果较好。
使用函数cv2.medianBlur()可实现中值滤波,具体用法如下:
import cv2
# 读取原始图像
img = cv2.imread('image.jpg')
# 进行中值滤波处理
blur = cv2.medianBlur(img, 5)
# 显示处理结果
cv2.imshow("Median Blur Image", blur)
cv2.waitKey(0)