本文为 AI 研习社编译的技术博客,原标题 Noise filtering in Digital Image Processing,作者为 Anisha Swain。
翻译 | 老赵 校对 | 余杭
大家好,在我们上一篇名为“数字图像处理中的噪声”的文章中,我们承诺将再次提供有关过滤技术和过滤器的文章。 所以这里我们还有关于噪声过滤的系列“图像视觉”的另一篇文章。
在图像采集,编码,传输和处理期间,噪声总是出现在数字图像中。 在没有过滤技术的先验知识的情况下,很难从数字图像中去除噪声。 在本文中,简要概述了各种噪声过滤技术,我们可以通过分析噪声行为来选择这些滤波器。 通过这种方式,将在此处对噪声进行完整的量化分析及选择其最适合的滤波器。
过滤图像数据是几乎每个图像处理系统中使用的标准过程。 过滤器用于此目的。 它们通过保留图像的细节来消除图像中的噪声。 过滤器的选择取决于过滤器行为和数据类型。
我们都知道,噪声是图像中像素值的突然变化。 因此,当涉及到图像的过滤时,第一个直觉是用像素点周围的平均像素值替换每个像素的值。 此过程使图像平滑。 为此,我们考虑两个假设。
假设:
1. 像素的真实值类似于附近像素的真实值。
2. 噪声被独立地添加到每个像素。
让我们在进入二维图像之前首先考虑一维函数。
在上述原始函数图像(图-1)中,如果我们将每个圆视为像素值,则平滑函数(图-2)是对每个像素的逐像素值求平均的结果。
1. 加权移动平均均匀权重过滤:
考虑一组局部像素并将它们指定为平均权重,而不仅仅考虑平均局部像素,这会导致数据丢失。假设噪声被独立地添加到每个像素。 根据此噪声量,把权重分配给不同的像素。
2. 使用加权移动平均值非均匀权重进行过滤
以前假设像素的真实值与附近像素的真实值相似。 但并非总是如此。 因此,为了获得更高的精度,给附近区域像素分配较大的权重。 这样可以平滑图像并保留图像信息,减少数据丢失量。
3. 二维图像中的加权移动平均
将图像视为二维矩阵,我们在整个图像上滑动一个小窗口(图5中的红色方块),用附近像素的平均值替换每个像素。 这个小窗口也称为蒙版或核。
用均匀权重过滤的过程也称为相关或相关过滤。
图7均匀权重的相关函数。 src:Udacity
在具有非均匀权重的相关滤波中,函数被用作非均匀权重,其也被称为蒙版或核(小滑动窗口的像素值的函数)。 其中使用的过程称为互相关。
图8非均匀权重的相关函数.src:Udacity
有不同类型的图像噪声滤波器。 它们通常可分为两种类型。
图 9 滤波器的分类
虽然有许多类型的滤波器,但在本文中我们将考虑4个主要用于图像处理的滤波器。
1. 高斯滤波器:
1.1 使用OpenCV和Python实现高斯滤波器:
(滤除高斯噪声)
2. 均值滤波器:
均值滤波器是一个简单的滑动窗口,用窗口中所有像素值的平均值替换中心值。 窗口或核通常是正方形,但它可以是任何形状。
图10通过滑动窗口计算平均值
2.1 使用OpenCV和Python实现均值过滤器:
(过滤泊松噪声)
3.中值过滤器:
均值滤波器是一个简单的滑动窗口,用窗口中所有像素值的中位数替换中心值。 窗口或核通常是正方形,但它可以是任何形状。
图11通过滑动窗口计算中位数
3.1 使用OpenCV和Python实现中值过滤器:
(过滤脉冲噪音)
4. 双边过滤器
双边滤波器使用高斯滤波器,但它有一个乘法分量,它是像素强度差的函数。 它确保在计算模糊强度值时仅包括与中心像素类似的像素强度。 此过滤器保留边缘。
从噪声和滤波器的实现,我们分析了最适合不同图像噪声的滤波器。
有了这篇关于图像处理中的噪声过滤的这篇文章。 要了解有关噪音的更多信息,请参阅此处。 有关图像处理的更多更新请与我们联系,并通过您的评论告诉我们你的疑问。
请点击阅读原文查看更多外部链接和参考文献。
原文链接:https://medium.com/image-vision/noise-filtering-in-digital-image-processing-d12b5266847c
点击文末【阅读原文】即可观看更多精彩内容:
基于 OpenCV(C++/Python) 使用深度学习 进行人类姿态检测
如何在 Azure 上使用 Horovod 框架进行物体检测的分布式深度学习
基于 OpenCV 使用 YOLOv3 进行深度学习中的物体检测
亚马逊、谷歌、微软等各家公司人脸识别对比
斯坦福CS231n李飞飞计算机视觉经典课程(中英双语字幕+作业讲解+实战分享)
等你来译:
你能在 10 分钟之内解决人物检测的问题吗?
如何使用 OpenCV 编写基于 Node.js 命令行界面 和 神经网络模型的图像分类
深度学习来自监督的方法