【数字图像处理系列笔记】Ch04:灰度变换与空间域图像增强(2)

目录

一、空域滤波基础

一、空域滤波的基本概念

二、空域滤波的数学原理

三、空域滤波器的分类与典型示例

(一)线性滤波器(Linear Filter)

(二)非线性滤波器(Non-linear Filter)

中值滤波(Median Filter)

最大值 / 最小值滤波

四、空域滤波的应用场景

五、空域滤波的关键参数与影响

滤波器大小

权重分布

六、空域与频域滤波的对比

七、总结

二、平滑空间滤波器

平滑空间滤波器:去噪与模糊的核心工具

1. 定义与本质

2. 典型滤波器及原理

3. 应用场景

三、锐化空间滤波器

锐化空间滤波器:边缘增强与细节提取

1. 定义与本质

2. 典型滤波器及原理

3. 应用场景

四、平滑与锐化的核心区别对比​编辑

选择策略:何时用平滑?何时用锐化?

五、技术深层解析:为什么这些滤波器能实现对应效果?

六、总结:平滑与锐化的辩证关系

五、题目

1、下面的滤波器哪些可作为图像平滑滤波器,哪些可作为图像锐化滤波器?为什么?

 平滑滤波器(低通滤波)特点

锐化滤波器(高通滤波)特点

解: 

2、问题1+问题2

问题1:以下两个滤波器属于平滑滤波器还是锐化滤波器?为什么?

问题2:下面2个高斯滤波器对图像平滑,哪个滤波器使图像平滑后更模糊?为什么?

观察法(定性分析)

计算法(定量分析):通过离散统计方差估算标准差 ​


一、空域滤波基础

一、空域滤波的基本概念

空域滤波(Spatial Filtering) 是图像处理中最基础的操作之一,其核心思想是通过对图像像素及其邻域进行局部运算来修改图像的像素值。与频域滤波(基于傅里叶变换处理频率成分)不同,空域滤波直接在图像的空间域上进行操作,主要通过滤波器(Filter) 或模板(Kernel) 实现。

二、空域滤波的数学原理

  1. 核心操作:卷积(Convolution)
    空域滤波的本质是滤波器与图像的卷积运算。对于一幅图像 f(x,y) 和一个大小为 m×n 的滤波器 h(x,y),输出图像 g(x,y) 的计算方式为:
    其中 (a,b) 为滤波器中心坐标,通常取 m=2a+1,n=2b+1(奇数大小便于定位中心)。

  2. 滤波器滑动过程

    • 滤波器从图像左上角开始,以像素为步长逐行滑动。
    • 每个位置上,滤波器中心与当前像素对齐,计算邻域像素与滤波器权重的乘积和,作为输出像素值。

三、空域滤波器的分类与典型示例

(一)线性滤波器(Linear Filter)

基于线性加权求和,满足叠加原理,主要用于平滑去噪或模糊处理。

滤波器类型核心特点典型模板(3×3)应用场景
均值滤波简单平均邻域像素值,降低噪声但模糊边缘。去除高斯噪声、图像模糊
高斯滤波基于高斯分布加权,中心像素权重高,边缘权重低,平滑效果更自然。图像去噪、高斯模糊、边缘检测前预处理
加权平均滤波自定义权重,可针对特定方向或特征增强,如边缘保持滤波(EPF)。自定义权重矩阵,如边缘方向加权保留细节的同时去噪

(二)非线性滤波器(Non-linear Filter)

不满足线性叠加原理,通过排序、取极值等操作处理像素,更适合去除脉冲噪声(如椒盐噪声)。

  • 中值滤波(Median Filter)
    • 原理:将邻域像素值排序后取中值,替换中心像素。
    • 模板示例(3×3):将 9 个像素值排序,取第 5 大的值。
    • 特点:有效去除椒盐噪声,同时保留边缘(相比均值滤波)。
  • 最大值 / 最小值滤波
    • 最大值滤波:取邻域最大值,增强亮区域,适用于突出亮点(如检测光斑)。
    • 最小值滤波:取邻域最小值,增强暗区域,适用于去除亮噪声(如盐噪声)。

四、空域滤波的应用场景

  1. 图像去噪

    • 线性滤波(如高斯滤波)适合处理高斯噪声(连续分布噪声)。
    • 非线性滤波(如中值滤波)适合处理脉冲噪声(离散噪声点)。
  2. 边缘检测预处理

    高斯滤波常用于模糊图像,减少噪声对边缘检测的干扰(如 Canny 算子前的高斯平滑)。
  3. 特征增强与抑制

    • 锐化滤波(如拉普拉斯算子)通过增强像素梯度突出边缘,公式为:
      其中 ∇2f 为拉普拉斯算子,典型模板:
  4. 图像模糊与降采样

    均值滤波或高斯滤波常用于图像缩放前的预处理,减少锯齿效应。

五、空域滤波的关键参数与影响

  1. 滤波器大小

    • 小尺寸(3×3、5×5):保留细节,去噪能力弱。
    • 大尺寸(7×7 及以上):去噪能力强,但过度模糊图像,丢失细节。
  2. 权重分布

    • 线性滤波器的权重决定了对不同位置像素的敏感度(如高斯滤波的中心权重更高)。
    • 非线性滤波器的操作逻辑(如排序取中值)决定了对异常值的鲁棒性。

六、空域与频域滤波的对比

维度空域滤波频域滤波
处理空间直接在像素空间操作,直观易理解。基于傅里叶变换,处理频率成分。
计算复杂度复杂度低,适合实时处理(尤其小模板)。需进行傅里叶变换,计算开销大。
典型应用去噪、边缘检测、局部特征增强。全局频率成分调整(如高通 / 低通滤波)。

七、总结

空域滤波是图像处理的基石,通过设计不同的滤波器模板,可实现去噪、模糊、锐化等多种效果。理解其数学原理(如卷积运算)和滤波器特性(线性 / 非线性),有助于根据实际需求(如图像噪声类型、处理目标)选择合适的滤波方法。实际应用中,常需结合滤波器大小、权重设计与多次实验,平衡去噪效果与细节保留。

二、平滑空间滤波器

平滑空间滤波器:去噪与模糊的核心工具

1. 定义与本质

平滑滤波通过邻域像素加权平均减少局部像素值波动,本质是低通滤波(抑制高频,保留低频)

作用效果:去除图像中的噪声(如高斯噪声、椒盐噪声),模糊细节(如平滑纹理、弱化边缘)。

2. 典型滤波器及原理

滤波器类型原理描述公式 / 模板示例特点与应用场景
均值滤波邻域像素值算术平均,权重均匀分布。3×3 模板:
简单高效,但易模糊边缘,适合轻度高斯噪声。
高斯滤波基于高斯函数加权,中心像素权重最大,离中心越远权重越小。二维高斯核:
平滑效果更自然,可通过调整 σ 控制模糊程度,常用于图像预处理(如 CNN 前的降采样)。
中值滤波取邻域像素值的中值替代中心像素,属于非线性滤波。操作:排序邻域像素,取中间值。对椒盐噪声(脉冲噪声)效果极佳,能保护边缘(因不依赖加权平均)。
双边滤波同时考虑像素空间距离和灰度差异的加权平均,属于保边平滑。保留边缘的同时去除噪声,常用于人像磨皮(保留轮廓,平滑皮肤)。

3. 应用场景

  • 噪声去除:医学影像(CT/MRI)去噪、卫星图像去云雾干扰。
  • 图像预处理:降低图像分辨率前的平滑,避免锯齿效应(如双线性插值前的高斯滤波)。
  • 风格化处理:油画效果、卡通化中的背景模糊。

三、锐化空间滤波器

锐化空间滤波器:边缘增强与细节提取

1. 定义与本质

锐化滤波通过增强像素梯度变化突出边缘和细节,本质是高通滤波(抑制低频,保留高频)

作用效果:使模糊图像变清晰,强化物体轮廓(如文字边缘、细胞边界),提升图像对比度。

2. 典型滤波器及原理

滤波器类型原理描述公式 / 模板示例特点与应用场景
梯度算子(一阶导数)通过计算像素灰度梯度值增强边缘,常用算子包括 Sobel、Prewitt、Roberts。Sobel 算子(x 方向):
对水平 / 垂直边缘敏感,输出为梯度幅值,常用于边缘检测(如 Canny 算法前处理)。
拉普拉斯算子(二阶导数)计算像素邻域的二阶导数,边缘处二阶导数值为零(过零点),用于定位边缘位置。4×4 拉普拉斯模板:
对噪声敏感(因强化高频),常与原图叠加使用(锐化 = 原图 + 拉普拉斯结果)。
非锐化掩模(Unsharp Mask)先模糊图像,再用原图减去模糊图,得到高频细节增强的结果。流程:
1. 高斯模糊 
2. 掩模
3. 锐化结果 fsharp​=f+k⋅mask
效果自然,广泛用于摄影后期(如风光片增强岩石纹理)。
高提升滤波(High Boost Filter)非锐化掩模的增强版,通过调整权重突出特定频率成分。公式:(k>1 时增强效果更明显)可自定义增强强度,适合需要突出微小细节的场景(如显微图像)。

3. 应用场景

  • 边缘检测:医学图像中的器官轮廓提取、文档扫描中的文字边缘强化。
  • 图像增强:老照片修复(锐化模糊的人像边缘)、遥感图像中的地形轮廓突出。
  • 特征提取:计算机视觉中预处理步骤(如车牌识别前的边缘增强)。

四、平滑与锐化的核心区别对比

维度平滑滤波锐化滤波
数学本质邻域加权平均(积分操作)梯度计算(微分操作)
频域特性低通滤波器(抑制高频,保留低频)高通滤波器(抑制低频,保留高频)
对噪声的影响减少噪声(但可能模糊细节)放大噪声(因噪声多为高频成分)
边缘处理弱化边缘,使边缘过渡平滑强化边缘,使边缘更陡峭
典型算子示例均值、高斯、中值拉普拉斯、Sobel、非锐化掩模
视觉效果图像变模糊,噪声减少图像变清晰,细节更突出

选择策略:何时用平滑?何时用锐化?

1. 优先使用平滑滤波的场景

  • 图像存在明显噪声(如拍摄时的 ISO 过高导致的噪点)。
  • 需要去除小尺度纹理(如背景虚化),突出主体。
  • 预处理步骤中需要降低图像分辨率(先平滑再缩放可减少锯齿)。

2. 优先使用锐化滤波的场景

  • 图像因对焦不准或运动模糊导致细节模糊。
  • 需要从图像中提取边缘特征(如物体识别、OCR 文字识别)。
  • 增强图像的视觉冲击力(如广告图片中的产品细节强化)。

3. 组合使用案例

  • 去噪 + 锐化流程:先中值滤波去除椒盐噪声,再用非锐化掩模恢复细节(如天文图像处理)。
  • 保边处理:双边滤波(平滑噪声)+ 拉普拉斯锐化(增强保留的边缘),用于医学图像的器官分割前处理。
五、技术深层解析:为什么这些滤波器能实现对应效果?

1. 平滑滤波的数学原理

  • 均值滤波:通过邻域平均降低像素值方差,公式表达为:邻域噪声通常是随机高频信号,平均后被弱化。
  • 高斯滤波:权重符合高斯分布,离中心越近的像素影响越大,等效于对不同频率成分按高斯函数衰减,数学上可证明高斯滤波是唯一的 “各向同性” 平滑操作(无方向偏好)。

2. 锐化滤波的数学原理

  • 一阶导数(梯度):边缘处灰度值突变,梯度幅值大,因此梯度算子可定位边缘位置,如 Sobel 算子通过横向和纵向模板分别计算梯度:
  • 二阶导数(拉普拉斯):边缘处二阶导数为零,通过检测过零点可更精确地定位边缘,同时拉普拉斯算子的输出与原图叠加时,会在边缘处产生 “过冲” 和 “下冲”,增强视觉对比度:
六、总结:平滑与锐化的辩证关系
  • 互补性:平滑和锐化是图像处理中的 “对立统一”—— 平滑去除不必要的高频(噪声),锐化增强需要的高频(边缘)。
  • 应用关键:根据噪声类型和目标特征选择滤波器,例如:
    • 高斯噪声→高斯滤波(线性平滑);
    • 椒盐噪声→中值滤波(非线性平滑);
    • 弱边缘目标→拉普拉斯锐化(二阶导数增强);
    • 强边缘目标→Sobel 梯度(一阶导数定位)。

实际应用中常结合两者,如 “先平滑去噪,再适度锐化恢复细节”,或通过参数调整(如高斯滤波的 σ、锐化的权重 k)平衡去噪与细节保留。

五、题目

1、下面的滤波器哪些可作为图像平滑滤波器,哪些可作为图像锐化滤波器?为什么?

 平滑滤波器(低通滤波)特点

数值均匀:所有值相近(如均值滤波器);

无正负交替:通常全为正数,中心值一般较大,邻近值较小且正。正数为平滑的必要条件。

锐化滤波器(高通滤波)特点

正负交替:通过正负值相乘增强边缘对比(例如,边缘像素与背景的差异被放大);

中心权重高:突出当前像素与邻域的差异,邻域像素为负或较小正数。

解: 

 

 

2、问题1+问题2

问题1:以下两个滤波器属于平滑滤波器还是锐化滤波器?为什么?

都是平滑,都是正数,总和>9,模糊效果明显

问题2:下面2个高斯滤波器对图像平滑,哪个滤波器使图像平滑后更模糊?为什么?

σ越大->高斯核分布更宽,图像模糊+
σ越小->高斯核分布集中,图像模糊 -

观察法(定性分析)

(a)中央元素为4,整体权重之和为:1+2+1+2+4+2+1+2+1=16
(b)中央元素为9,整体权重之和为:1+2+1+2+9+2+1+2+1=21
【中央值9相对于周围值占比更大,意味着它更倾向于保留当前像素本身的信息,对邻域的平滑作用较弱。 】

计算法(定量分析):通过离散统计方差估算标准差
 

a更模糊,原因见上分析

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/94500.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/94500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI浪潮下,FPGA如何实现自我重塑与行业变革

引言:AI 与 FPGA,新时代的碰撞 2025 年,人工智能技术迎来爆发式增长,大模型、生成式 AI 和多模态技术持续突破,人形机器人量产元年正式开启,自动驾驶商业化进程加速,工业数字化转型全面铺开(1)…

系统集成项目管理工程师【第十一章 规划过程组】定义范围、创建WBS、规划进度管理和定义活动篇

系统集成项目管理工程师【第十一章 规划过程组】定义范围、创建WBS、规划进度管理和定义活动篇 一、定义范围:给项目画好"边界线" 定义范围是明确项目和产品"做什么、不做什么"的过程,直接影响后续所有工作的方向。 1. 核心概念与作…

Spring Boot 参数校验全指南

Spring Boot 参数校验全指南 在 Web 开发中,参数校验是保障接口安全性和数据合法性的关键环节。手动编写校验逻辑不仅繁琐,还容易遗漏边界情况。Spring Boot 整合了 validation 工具,提供了一套简洁高效的参数校验方案,可快速实现…

常用技术资料链接

1.team技术 https://zhuanlan.zhihu.com/p/11389323664 https://blog.csdn.net/Lucky_Lu0/article/details/121697151 2.bond切换主备 https://www.xgss.net/3306.html 3.ssh详解: https://cloud.tencent.com/developer/news/105165 https://blog.huochengrm.c…

【Spring Cloud】-- 注册中心

文章目录1. 什么是注册中心2. CPA理论1. 什么是注册中心 注册中心有三种角色: 服务提供者(Server) :提供接口给其他微服务的程序。服务消费者(Client):调用其他微服务提供的接口。**服务注册中…

go-zero 详解

go-zero 详解 go-zero 是一个基于 Go 语言的微服务框架,由字节跳动团队开发并开源,旨在帮助开发者快速构建高可用、高性能的微服务架构。它集成了丰富的组件,简化了微服务开发中的常见问题(如服务注册发现、配置管理、限流熔断等&…

接口自动化框架封装之统一请求封装及通过文件实现接口关联

接口自动化测试框架封装目的:简化自动化框架的落地,提高投入和产出比,只要一个人封装好框架,另外的测试通过写yaml测试用例即可实现接口自动化1.统一请求的封装去除多余重复的代码可跨py文件实现通过一个session来自动关联有cookie的接口设置统一公共参数,统一文件处理,统一异常…

Vue 最佳实践:如何利用唯一 key 值保证 el-table 动态渲染的稳定性

📋 问题描述 在Vue 2.0 ElementUI项目的偏置条件管理页面中,每次切换到"内规拉偏"菜单时,表格样式会发生崩溃,导致表格布局异常、列宽错乱、固定列显示不正确等问题。 🔍 问题分析 通过深入分析代码&#x…

popen开启进程,写入数据

通过管道&#xff08;popen&#xff09;启动 SDIWAN_WEB 进程并写入 JSON 数据的过程可以分为以下步骤&#xff0c;结合代码示例和关键注意事项进行说明&#xff1a;1. 核心代码示例 #include <stdio.h> #include <json-c/json.h>int main() {// 1. 创建 JSON 对象…

计算机视觉的四项基本任务辨析

计算机视觉是使计算机能理解采集设备采集的图像视频的一门学科&#xff0c;目的是让计算机实现人的视觉功能——对客观世界的三维场景的感知、识别和理解。换句话说&#xff0c;要让计算机具备通过二维图像认识三维环境的能力。 目录 三个阶段 视觉层级 基本任务 技术难点…

iostat 系统IO监控命令学习

一、iostat 命令描述 “iostat”命令用于监测系统输入/输出设备的负载情况&#xff0c;其通过观察设备处于活跃状态的时间与平均传输速率之间的关系来实现这一目的。该命令会生成报告&#xff0c;这些报告可用于调整系统配置&#xff0c;以更好地平衡物理磁盘之间的输入/输出负…

jenkins使用ssh方式连接gitee 公钥、私钥配置、指纹

前言 Gitee 提供了基于 SSH 协议的 Git 服务&#xff0c;jenkins可使用ssh方式连接gitee&#xff0c;拉取代码、提交tag等&#xff1b;使用ssh 连接&#xff0c;相比用户名密码方式&#xff0c;可省去因密码变更而引起的jenkins关联修改。 gitee生成、添加 SSH 公钥 生成SSH…

如何在Android设备上删除多个联系人(3种方法)

如果您想清理安卓手机&#xff0c;或者只是想删除旧的、不需要的联系人&#xff0c;或者删除多个联系人&#xff0c;有三种有效的方法可供选择。无论您是想手动删除安卓手机上的联系人&#xff0c;还是使用专用工具&#xff0c;都可以按照以下步骤操作。方法1&#xff1a;如何通…

Angular进阶之十三:Angular全新控制流:革命性的模板语法升级

随着Angular v17的发布&#xff0c;框架带来了革命性的控制流语法&#xff0c;彻底改变了我们编写模板的方式。这些改进不仅仅是语法糖——它们提升了性能、开发体验和代码可维护性。 为什么我们需要新的控制流&#xff1f; 在之前的Angular版本中&#xff0c;我们使用结构指令…

【Redis】string字符串

目录 一.常见命令 1.1.SET 1.2.GET 1.3.MGET 1.4.MSET 1.5.SETNX 二.计数命令 2.1.INCR 2.2.INCRBY 2.3.DECR 2.4.DECYBY 2.5.INCRBYFLOAT 三 . 其他命令 3.1.APPEND 3.2.GETRANGE 3.3.SETRANGE 3.4.STRLEN 四. 字符串类型内部编码 五. 典型使用场…

Nginx 学习

通过网盘分享的文件&#xff1a;Nginx 链接: https://pan.baidu.com/s/1dCc7FoND90H_x7rvRUXJqg 提取码: yyds 通过网盘分享的文件&#xff1a;Tomcat 链接: https://pan.baidu.com/s/1nj_5j_66gS_YHUAX1C25jg 提取码: yyds Nginx安装、启动 安装依赖库 #安装C编译器 yum insta…

Java、Android及计算机基础面试题总结

1. String、StringBuffer、StringBuilder区别特性StringStringBufferStringBuilder可变性不可变可变可变线程安全是是(synchronized)否性能低(频繁操作时)中等高场景字符串常量多线程字符串操作单线程字符串操作2. 接口和抽象类的区别特性接口(Interface)抽象类(Abstract Class…

数据集相关类代码回顾理解 | sns.distplot\%matplotlib inline\sns.scatterplot

【PyTorch】单目标检测项目 目录 os.path.join sns.distplot adjust_brightness os.path.join fullPath2imgos.path.join(path2data,"Training400",prefix,imgName[id_]) 使用os.path.join函数&#xff0c;智能地处理不同操作系统中的路径分隔符问题&#xff0…

JavaScript:链式调用

概念 链式调用&#xff08;Method Chaining&#xff09;是 JavaScript 中一种常见的编程模式&#xff0c;允许通过连续调用对象的方法来简化代码。这种模式的核心在于每个方法返回调用对象本身&#xff08;通常是 this&#xff09;&#xff0c;从而可以继续调用其他方法。 链式…

龙芯(loongson) ls2k1000 openwrt

PC环境&#xff1a;Linux Mint 21.3安装依赖sudo apt install build-essential clang flex bison g gawk gcc-multilib g-multilib gettext git libncurses-dev libssl-dev python3-distutils rsync unzip zlib1g-dev file wget下载源码&#xff1a;git clone https://gitee.co…