图像噪声
什么是图像噪声?
图像噪声是图像在获取或传输过程中受到的各种随机误差或干扰的总称。这些误差或干扰可能来自于多种源头,包括但不限于传感器噪声、传输信道误差、量化噪声以及图像处理算法引入的误差等。
图像噪声通常表现为图像中一些随机出现的、亮度或颜色上与周围像素存在显著差异的像素点或像素块。这些噪声点可能会低图像的清晰度、对比度和整体质量,使得图像看起来更加模糊或杂乱无章 。
图像噪声的分类
高斯噪声
- 定义:高斯噪声是一种随机噪声,其值按高斯概率定律分布
- 产生原因:高斯噪声通常是由大量独立的脉冲所产生的,这些脉冲在任意有限时间间隔内的总和具有高斯分布的特性。实际中,热噪声、散弹噪声及量子噪声等都可以视为高斯噪声。
- 图像:
- 原始图像:
- 添加高斯噪声后:
- 原始图像:
泊松噪声
- 定义:泊松噪声是一种随机信号,其产生与一系列独立触发事件相关。
- 产生原因:
- 独立触发事件:泊松噪声的产生通常与一系列独立触发事件相关,这些事件在时间上是随机且均匀分布的。
- 随机到达时间:触发事件之间的时间间隔是随机的,导致泊松噪声的发生频率难以准确预测。
- 无记忆性:泊松噪声的触发事件之间没有记忆,即前一事件的发生与后一事件的发生没有关联。
- 图像:
- 原始图像:
- 添加泊松噪声后:
- 原始图像:
椒盐噪声
- 定义:椒盐噪声也称为脉冲噪声,是图像中经常见到的一种噪声,表现为随机出现的白点或黑点。
- 产生原因:椒盐噪声的成因可能是影像信号受到突如其来的强烈干扰,如类比数位转换器或位元传输错误等。例如,失效的感应器导致像素值为最小值(黑点),饱和的感应器导致像素值为最大值(白点)。
- 图像:
- 原始图像:
- 添加椒盐噪声后:
- 原始图像:
均匀噪声
- 定义:均匀噪声是在概率论和统计学中,均匀分布也叫矩形分布,它是对称概率分布,在相同长度间隔的分布概率是等可能的。
- 产生原因:均匀噪声的产生通常与随机过程或随机信号的均匀分布特性有关。在图像处理中,均匀噪声可能表现为图像中像素值的随机波动。
- 图像:
- 原始图像:
- 添加均匀噪声后:
- 原始图像:
图像滤波
什么是图像滤波操作?
图像滤波是数字图像处理中一种常见的操作,通过对图像中的像素进行特定的处理,来达到去噪、平滑、增强边缘等目的。 滤波操作通常基于一定的数学模型或算法。 不同的滤波算法会产生不同的处理效果,使用合适的滤波算法可以改善图像质量。
滤波操作的分类
高斯滤波
- 定义:一种基于高斯函数的线性滤波方法,通过对图像中的像素进行加权平均操作,实现图像的平滑。
- 操作:将一个滑动窗口放置在图像上的每一个像素位置,根据高斯函数计算窗口中像素的加权平均值,将该加权平均值作为该位置像素的输出值。
- 在Halcon中的算子:
- 函数:gauss_image
gauss_image(Image:ImageGauss: Size:)
- 参数:
- Image:输入图像
- ImageGauss:输出高斯滤波后的图像
- Size:输入必须滤波的尺寸,默认:5
中值滤波
- 定义:一种非线性滤波方法,通过对图像中的像素进行排序,选择中间值作为输出值,实现图像的去噪。
- 操作:将一个滑动窗口放置在图像上的每一个像素位置,将窗口中的像素进行排序,选择中间值作为该位置像素的输出值。
- 在Halcon中的算子:
- 函数:median_image
median_image(Image:ImageMedian: MaskType, Radius, Margin:)
- 参数:
- Image:输入图像
- ImageMedian:输出中值滤波处理后的图像
- MaskType : 滤波蒙板类型,默认:’ circle’
- Radius:过滤半径, 默认:1
- Margin:边沿处理, 默认:’ mirrored’
均值滤波
- 定义:一种简单的线性滤波方法,通过对图像中的像素进行平均操作,实现图像的平滑。
- 操作:将一个滑动窗口放置在图像上的每一个像素位置,计算窗口中像素的平均值,将该平均值作为该位置像素的输出值。
- 在Halcon中的算子:
- 函数:mean_image
mean_image(Image:ImageMean: MaskWidth, MaskHeight:)
- 参数:
- Image:输入图像
- ImageMean:输出平滑图像
- MaskWidth:输入平滑蒙板宽度,默认:9
- MaskHeight :输入平滑蒙板高度,默认:9
如何用滤波操作去除图像噪声?
- 消除高斯噪声,可以采用高斯滤波。高斯滤波通过对整幅图像进行加权平均,每个像素点的值都由其自己和邻域内的其余像素值通过加权平均后获得。
- 泊松噪声,可以采用一些非线性的滤波方法,如中值滤波。这些方法可以在去除噪声的同时,较好地保留图像的边缘和纹理信息。
- 椒盐噪声的有效去除方法通常使用中值滤波。中值滤波将一个像素的值用该像素邻域中强度值的中间值来取代,从而有效地去除椒盐噪声。
- 均匀噪声,可以采用均值滤波方法进行去除。通过对图像进行平滑处理,减小像素值的随机波动,从而去除均匀噪声。
针对不同类型的噪声,需要采用不同的图像预处理方法进行去除。在实际应用中,可以根据噪声的类型和图像的特点选择合适的去噪方法,以达到最佳的图像处理效果滤波功能只能针对某一类噪声有作用,其滤波效果总的来说并不是很好,对于真实环境中纷繁复杂的噪声类型,需要采用更合适、更好的滤波方法,但是这些方法或多或少都是基于这些基本方法去不断优化和改善的。
- 图像添加噪声Python代码参考文章:图像噪声、去噪基本方法合集(Python实现)