使用python opencv库4 读取一幅图像文件实现对其添加椒盐噪声后对已经添加噪声的图像进行中值滤波显示滤波前后的对比图
以下是使用Python OpenCV库实现添加椒盐噪声并进行中值滤波的示例代码:
import cv2
import numpy as np
# 读取图像
img = cv2.imread('lena.png')
# 添加椒盐噪声
noise = np.zeros(img.shape, np.uint8)
cv2.randu(noise, 0, 255)
salt = noise > 245
pepper = noise < 10
img[salt] = 255
img[pepper] = 0
# 中值滤波
median = cv2.medianBlur(img, 5)
# 显示图像
cv2.imshow('Original Image', img)
cv2.imshow('Median Filtered Image', median)
cv2.waitKey(0)
cv2.destroyAllWindows()
在上述代码中,我们首先使用cv2.imread()函数读取一幅图像,然后使用cv2.randu()函数生成与图像大小相同的随机噪声。我们将噪声值大于245的像素设置为255(即白色),将噪声值小于10的像素设置为0(即黑色),从而实现添加椒盐噪声的效果。
接着,我们使用cv2.medianBlur()函数对添加噪声后的图像进行中值滤波。该函数的第二个参数表示滤波器的大小,本例中我们使用了5x5的滤波器。
最后,我们使用cv2.imshow()函数显示原始图像和经过中值滤波后的图像,使用cv2.waitKey()函数等待用户按下按键,最后使用cv2.destroyAllWindows()函数关闭所有窗口。
运行上述代码,即可得到添加椒盐噪声后的原始图像和经过中值滤波后的图像。
原文地址: https://www.cveoy.top/t/topic/b1sm 著作权归作者所有。请勿转载和采集!