当前位置:首页 >> 编程语言 >> 【python】均值、中值和高斯滤波详解和示例,touchsmart(python均值滤波函数)

【python】均值、中值和高斯滤波详解和示例,touchsmart(python均值滤波函数)

0evadmin 编程语言 2
文件名:【python】均值、中值和高斯滤波详解和示例,touchsmart 【python】均值、中值和高斯滤波详解和示例

本文对均值、中值和高斯滤波进行详解,以帮助大家理解和使用。

这里写目录标题 均值滤波中值滤波高斯滤波核大小为(9,9)核大小为(51,51) 小结 下面是示例中使用的原图。

均值滤波

均值滤波是一种简单的平滑滤波器,它通过将每个像素点的值设置为其邻域内像素点的平均值来消除噪声。均值滤波器通常用于去除高斯噪声和均匀噪声。

import cv2import numpy as np# 读入图像img = cv2.imread('Noisy.jpg')# 定义滤波器大小kernel_size = (5, 5)# 进行均值滤波blur = cv2.blur(img, kernel_size)# 显示原图和滤波后的图像cv2.imshow('Original Image', img)cv2.imshow('Blur Image', blur)cv2.imwrite("meanImage.jpg",blur)cv2.waitKey(0)cv2.destroyAllWindows()

效果图:

可以通过改变kernel_size = (5, 5)大小,来改变滤波结果。

中值滤波

中值滤波是一种非线性平滑滤波器,它将每个像素点的值设置为其邻域内像素点中值来消除噪声。中值滤波器通常用于去除椒盐噪声和其他孤立的噪声点。

import cv2import numpy as np# 读入图像img = cv2.imread('Noisy.jpg')# 定义滤波器大小#kernel_size = (5, 5)# 进行中值滤波median = cv2.medianBlur(img, 5)# 显示原图和滤波后的图像cv2.imshow('Original Image', img)cv2.imshow('Median Image', median)cv2.imwrite("zhongImage.jpg",median)cv2.waitKey(0)cv2.destroyAllWindows()

高斯滤波

高斯滤波是一种基于高斯函数的平滑滤波器,它通过将每个像素点的值设置为其邻域内像素点的高斯加权平均值来消除噪声。高斯滤波器通常用于去除高斯噪声和其他类型的噪声,同时保留图像的边缘信息。

import cv2import numpy as np# 读入图像img = cv2.imread('Noisy.jpg')# 定义滤波器大小和标准差kernel_size = (9, 9)sigmaX = 3 # X方向的标准差,可以根据需要调整sigmaY = 3 # Y方向的标准差,可以根据需要调整# 进行高斯滤波gsblur = cv2.GaussianBlur(img, kernel_size, sigmaX, sigmaY)# 显示原图和滤波后的图像cv2.imshow('Original Image', img)cv2.imshow('gsblur Image', gsblur )cv2.imwrite("gsblur9*9.jpg",gsblur )cv2.waitKey(0)cv2.destroyAllWindows()

运行结果:

核大小为(9,9)

改变核大小为9*9,效果为:

核大小为(51,51)

小结

本文使用的原图噪声级别较高,所以各滤波结果的差距较小,但可以看出,随着核大小的增大,图像变得更平滑,但也变得更模糊。 在应用时,可以调整核的大小,以满足自己的降噪场景和效果。

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接