代码如下:
import cv2 as cv
from matplotlib import pyplot as plt
def blur_demo(image):
blur = cv.blur(image,(3,3))
return blur
def boxFilter_demo(image):
boxFilter = cv.boxFilter(image,-1,(3,3),normalize=True)
return boxFilter
def boxFilterF_demo(image):
boxFilterF = cv.boxFilter(image,-1,(3,3),normalize=False)
return boxFilterF
def Gaussian_demo(image):
gaussian = cv.GaussianBlur(image,(5,5),1)
return gaussian
def medianBulr(image):
medianbulr = cv.medianBlur(image,5)
return medianbulr
src = cv.imread("./images/lenaNoise.png")
src = src[:,:,[2,1,0]]
img1 = blur_demo(src)
img2 = boxFilter_demo(src)
img3 = boxFilterF_demo(src)
img4 = Gaussian_demo(src)
img5 = medianBulr(src)
plt.subplot(2,3,1),plt.imshow(src)
plt.title("Original image"),plt.xticks([]),plt.yticks([])
plt.subplot(232),plt.imshow(img1)
plt.title("blur_image"),plt.xticks([]),plt.yticks([])
plt.subplot(233),plt.imshow(img2)
plt.title("boxFilter_image"),plt.xticks([]),plt.yticks([])
plt.subplot(234),plt.imshow(img3)
plt.title("boxFilterF_image"),plt.xticks([]),plt.yticks([])
plt.subplot(235),plt.imshow(img4)
plt.title("gaussian_image"),plt.xticks([]),plt.yticks([])
plt.subplot(236),plt.imshow(img5)
plt.title("medianBulr_image"),plt.xticks([]),plt.yticks([])
plt.savefig('./images/lenaNoise_out.png')
plt.show()
实验结果:

本文通过使用Python的OpenCV库和Matplotlib库,演示并比较了几种常见的图像降噪技术,包括均值模糊、盒式滤波、高斯模糊、中值模糊等,通过具体的代码实现和图像展示,直观地呈现了不同降噪方法的效果。
 滤波器去椒盐噪声&spm=1001.2101.3001.5002&articleId=104742659&d=1&t=3&u=30f3d2e15bcb4123a8ba6e6d6eb148e0)
3153

被折叠的 条评论
为什么被折叠?



