图像预处理之图像滤波

目录

图像滤波概览

[均值滤波(Mean Filter)](#均值滤波(Mean Filter))

[中值滤波(Median Filter)](#中值滤波(Median Filter))

[高斯滤波(Gaussian Filter)](#高斯滤波(Gaussian Filter))

[双边滤波(Bilateral Filter)](#双边滤波(Bilateral Filter))

[方框滤波(Box Filter)](#方框滤波(Box Filter))

Sobel滤波

Laplace滤波

Canny滤波

Scharr滤波


图像滤波概览

|---------------------------|----------------------------|
| 线性滤波 | 非线性滤波 |
| 均值滤波(Mean Filter) | 中值滤波(Median Filter) |
| 高斯滤波(Gaussian Filter) | 双边滤波(Bilateral Filter) |
| 方框滤波(Box Filter) | Canny滤波 |
| Sobel滤波 | |
| Laplace滤波 | |
| Scharr滤波 | |

均值滤波(Mean Filter)

均值滤波是一种简单的线性滤波方法。它通过计算图像中每个像素邻域内像素值的平均值来替换该像素的值。例如,对于一个3×3的邻域,将邻域内9个像素的值相加,再除以9,得到的结果作为中心像素的新值。

KSize=3

中值滤波(Median Filter)

中值滤波是一种非线性滤波方法。它将像素邻域内的像素值进行排序,然后取中间值作为中心像素的新值。例如,对于一个3×3的邻域,将9个像素值从小到大(或从大到小)排序,取第5个像素的值作为中心像素的新值。

KSize=3

高斯滤波(Gaussian Filter)

高斯滤波基于高斯函数来确定邻域内像素的权重。离中心像素越近的像素,其权重越大;离中心像素越远的像素,权重越小。例如,对于一个5×5的高斯滤波器核,中心像素的权重最大,边缘像素的权重较小。然后将邻域内像素值与对应的权重相乘后求和,得到中心像素的新值。

SigmaX=0.3;SigmaY=0.5;KSize=3

双边滤波(Bilateral Filter)

双边滤波同时考虑了空间距离和像素值的相似性。它由两个高斯函数组成,一个基于空间距离,另一个基于像素值的差异。对于邻域内的每个像素,根据其与中心像素的空间距离和像素值的差异来确定权重,然后进行加权平均得到中心像素的新值。

SigmaX=21;SigmaY=21;Neighborhood=3

方框滤波(Box Filter)

方框滤波与均值滤波类似,也是计算邻域内像素值的平均。但它可以选择是否对结果进行归一化。如果进行归一化,就相当于均值滤波;如果不进行归一化,滤波后的图像会比原图像更亮(对于正的图像数据),因为像素值累加后没有除以邻域像素个数。

KSize=3

Sobel滤波

Sobel滤波主要用于边缘检测。它基于图像的一阶导数来计算边缘的强度和方向。Sobel算子包含两个卷积核,一个用于检测水平方向的边缘,另一个用于检测垂直方向的边缘。Sobel滤波对噪声有一定的鲁棒性,因为它是基于局部区域的加权求和(卷积)。

X方向核大小=3;Y方向核大小=3

Laplace滤波

Laplace滤波是基于图像的二阶导数进行边缘检测的方法。它通过计算图像中每个像素与其邻域像素的二阶导数关系来检测边缘。

Scale=1;BorderType=Constant;KSize=3;Delta=0

Canny滤波

Canny滤波是一种多阶段的边缘检测算法。被认为是一种较为优秀的边缘检测算法。它能够提供比较精确的边缘检测结果,有效地抑制噪声,并且能够检测到单像素宽度的边缘。

  • 第一步是噪声抑制,通常采用高斯滤波来平滑图像,减少噪声对边缘检测的影响。
  • 第二步是计算梯度幅值和方向,类似于Sobel滤波,通过计算一阶导数来得到图像的梯度幅值和方向。
  • 第三步是非极大值抑制。在计算出梯度幅值和方向后,沿着梯度方向,将每个像素点的梯度幅值与它的邻域像素(沿着梯度方向的两个邻点)进行比较,如果该像素点的梯度幅值不是局部最大值,则将其置为零,这样可以得到更细的边缘。
  • 第四步是双阈值检测和边缘连接。设置两个阈值,高阈值和低阈值。高于高阈值的像素点肯定是边缘点,低于低阈值的像素点肯定不是边缘点,而介于两个阈值之间的像素点,如果与已确定的边缘点相连,则也被认为是边缘点。

KSize=3;最大阈值=255;最小阈值=0

Scharr滤波

Scharr滤波也是一种用于边缘检测的滤波方法。它与Sobel滤波类似,也是基于一阶导数来计算边缘强度和方向。

相关推荐
好评笔记6 小时前
机器学习笔记——30种常见机器学习算法简要汇总
机器学习·计算机视觉
Eric.Lee20217 小时前
数据集-目标检测系列- 花卉 鸡蛋花 检测数据集 frangipani >> DataBall
人工智能·python·yolo·目标检测·计算机视觉·鸡蛋花检查
撞南墙者9 小时前
OpenCV自学系列(2)——核心操作(core operations)
人工智能·opencv·计算机视觉
Bearnaise11 小时前
GaussianDreamer: Fast Generation from Text to 3D Gaussians——点云论文阅读(11)
论文阅读·人工智能·python·深度学习·opencv·计算机视觉·3d
做程序员的第一天13 小时前
深度神经网络中不同的卷积层提取的特征有什么不同?
深度学习·计算机视觉
KL's pig/猪头/爱心/猪头16 小时前
在幸狐picomax SDK里面添加app
linux·图像处理
盘古开天166618 小时前
第一讲,Opencv计算机视觉基础之计算机视觉概述
人工智能·python·opencv·计算机视觉
不当菜鸡的程序媛1 天前
图像编辑一些概念:Image Reconstruction与Image Re-generation
人工智能·计算机视觉
深度学习lover1 天前
<项目代码>YOLOv8 草莓成熟识别<目标检测>
人工智能·python·yolo·目标检测·计算机视觉·草莓成熟识别
一只老虎1 天前
基于OpenCV的图片人脸检测研究
人工智能·opencv·计算机视觉