计算机视觉基础|第7章 图像滤波处理(图像降噪)

发布时间:2026/9/26 3:35:58

计算机视觉基础|第7章 图像滤波处理(图像降噪) 目录前言7.1 本章学习目标7.2 前置理论知识7.3 均值滤波cv2.blur7.4 方框滤波cv2.boxFilter7.5 高斯滤波cv2.GaussianBlur7.6 中值滤波cv2.medianBlur椒盐噪声专用7.7 四大滤波算法对比汇总7.8 注意7.9 本章小结前言承接第6章形态学操作。图像在采集、传输过程中易产生各类噪声图像滤波的核心作用是消除图像噪声、平滑画面同时尽可能保留目标边缘细节是图像处理中最基础、最常用的前置操作。7.1 本章学习目标理解图像噪声、图像卷积的底层原理掌握边界填充机制熟练掌握均值滤波、方框滤波、高斯滤波、中值滤波四种常用滤波算法精准区分各类滤波的适配噪声类型明确优缺点掌握卷积核尺寸对滤波效果的影响规律能够根据图像噪声类型灵活选择最优滤波算法7.2 前置理论知识7.2.1 图像噪声概述图像中无规律分布的杂点、雪花、黑白斑点统称为图像噪声会严重影响图像质量和后续图像处理效果。本章重点学习、测试椒盐噪声画面随机分布黑白噪点白色噪点称为“盐”黑色噪点称为“椒”是图像处理中最典型的噪声类型之一。7.2.2 滤波核心本质——图像卷积所有图像滤波的底层原理均为卷积运算通过固定大小的卷积核滑动窗口在整张图像上逐像素滑动根据窗口覆盖范围内的邻域像素值按照对应算法规则计算出新的中心像素值最终实现图像平滑、降噪的效果。核心注意点卷积核尺寸必须为奇数3×3、5×5、17×17等方便确定窗口中心位置卷积核尺寸越大降噪效果越强同时图像模糊程度越高。7.2.3 边界填充机制当卷积核滑动到图像边缘区域时窗口会超出图像边界。OpenCV 会自动对图像边缘做像素填充处理补齐缺失像素确保滤波后的图像尺寸与原图完全一致无需手动处理边界。7.2.4 公共基础代码通用以下代码为本章所有滤波实验的基础依赖实现图片读取、尺寸重置、手动生成椒盐噪声功能所有滤波算法均可直接复用。import cv2 import numpy as np from cv2 import boxFilter def add_peppersalt_img(img, n10000): 自定义函数为图像添加椒盐噪声n为噪点数量数量越大噪声越多 result img.copy() h, w img.shape[:2] # 随机生成黑白噪点 for i in range(n): x np.random.randint(0, w) y np.random.randint(0, h) if np.random.randint(0, 2) 0: result[y, x] 0 # 黑色噪点椒 else: result[y, x] 255 # 白色噪点盐 return result #读取图像并统一缩放尺寸 img cv2.imread(rD:\pythoncode2\bigdata_ai40\Image\girl.png) img cv2.resize(img, (500, 500)) #生成带椒盐噪声的图像 img_noise add_peppersalt_img(img) #展示原图与噪声图 cv2.imshow(原图, img) cv2.imshow(椒盐噪声图, img_noise) cv2.waitKey(0)原图添加噪声7.3 均值滤波cv2.blur原理均值滤波是最简单的线性滤波采用全1卷积核用卷积核窗口内所有像素的平均值替换窗口中心像素值以此抹平图像噪点。边缘像素通过填充邻域像素完成平滑处理。特点与适用场景算法简单、运算速度快缺点是会模糊图像边缘细节降噪强度越高边缘丢失越严重。主要用于去除高斯噪声。实战代码# 均值滤波不同卷积核效果对比 # 3×3小核轻度降噪轻微模糊 blur_3 cv2.blur(img_noise, (3, 3)) # 17×17大核强降噪图像明显模糊 blur_17 cv2.blur(img_noise, (17, 17)) cv2.imshow(均值滤波-3×3核, blur_3) cv2.imshow(均值滤波-17×17核, blur_17) cv2.waitKey(0)7.4 方框滤波cv2.boxFilter原理方框滤波与均值滤波底层逻辑相似核心区别在于可通过normalize参数控制是否归一化灵活切换滤波效果。normalizeTrue归一化窗口像素求和后除以像素总数效果完全等价均值滤波normalizeFalse不归一化直接对窗口像素求和像素值易超过255图像大面积发白参数详解src输入图像depth输出图像深度-1 表示与输入图像深度一致ksize卷积核尺寸anchor核锚点默认(-1,-1)以核中心为基准normalize是否开启归一化示例代码# 方框滤波两种效果对比 # 归一化等价均值滤波 box_normal cv2.boxFilter(img_noise, -1, (3, 3), normalizeTrue) # 不归一化像素求和溢出画面泛白 box_no_normal cv2.boxFilter(img_noise, -1, (3, 3), normalizeFalse) cv2.imshow(方框滤波-归一化, box_normal) cv2.imshow(方框滤波-不归一化, box_no_normal) cv2.waitKey(0)7.5 高斯滤波cv2.GaussianBlur原理高斯滤波是加权平均滤波卷积核权重遵循高斯分布卷积核中心像素权重最大距离中心越远的像素权重越小。通过加权求和计算新像素值兼顾降噪与边缘保留。特点与适用场景降噪效果柔和可最大程度保留图像边缘细节是日常图像处理、工程落地的首选滤波算法专门适配高斯噪声。补充当sigmaX0时OpenCV 会根据卷积核尺寸自动计算高斯标准差无需手动赋值。示例代码# 高斯滤波3×3卷积核、标准差为1 gauss cv2.GaussianBlur(img_noise, (3, 3), sigmaX1) cv2.imshow(高斯滤波-3×3核, gauss) cv2.waitKey(0)7.6 中值滤波cv2.medianBlur椒盐噪声专用原理中值滤波属于非线性滤波将卷积核窗口内所有像素值从小到大排序取中间像素值中位数作为窗口中心的新像素值可直接剔除图像中极端的黑白噪点。特点与适用场景对椒盐噪声降噪效果极佳可精准去除黑白斑点同时完好保留图像边缘参数写法特殊仅需传入奇数数字无需元组格式。实战代码# 中值滤波核大小为3 median cv2.medianBlur(img_noise, 3) cv2.imshow(中值滤波-核大小3, median) cv2.waitKey(0) #释放所有窗口 cv2.destroyAllWindows()7.7 四大滤波算法对比汇总滤波函数核心原理适配噪声类型核心特点cv2.blur均值滤波邻域像素求算术平均值高斯噪声算法简单易模糊图像边缘cv2.boxFilter方框滤波邻域像素求和可归一化通用极少单独使用与均值滤波效果相近实用性低cv2.GaussianBlur高斯滤波邻域像素高斯加权平均高斯噪声工程首选兼顾降噪与边缘保留cv2.medianBlur中值滤波邻域像素取中位数椒盐噪声专治椒盐噪点边缘保留效果好7.8注意所有滤波卷积核必须使用奇数尺寸偶数核无法确定中心会报错或滤波失效。卷积核尺寸与降噪强度、模糊程度正相关需根据图像噪声轻重合理选择。中值滤波参数格式特殊传入数字如3、5不可传入元组。算法选择准则椒盐噪声用中值滤波普通高斯噪声、日常图片降噪用高斯滤波。彩色图像可直接滤波OpenCV 会自动对 BGR 三个通道分别完成卷积运算。7.9 本章小结图像滤波的本质是卷积窗口运算核心作用是消除图像噪声、平滑画面是图像处理前置核心步骤。均值、方框、高斯为线性滤波中值为非线性滤波适配场景各有差异。高斯滤波是通用最优方案中值滤波是椒盐噪声专属解决方案。卷积核越大降噪效果越强但图像细节、边缘模糊越严重需合理取舍。
延伸阅读

更多相关文章

2026/9/19 2:31:29

VSCode搭建ESP32 MicroPython开发环境:从点灯到项目实战

你刚拿到一块 ESP32 开发板,刷好了 MicroPython 固件,用 REPL 试了试 print(Hello World) ,感觉一切顺利。但当你准备开始写一个真正的项目,比如点个灯、读个传感器时,问题来了:难道我要一直用串口工具…

2026/9/21 7:32:02

CANoe中LIN总线干扰测试:从原理到实战的完整指南

1. 项目概述:为什么要在CANoe中对LIN总线进行干扰测试? 如果你正在从事汽车电子网络测试,尤其是负责车身舒适性模块(比如车窗、雨刮、座椅、灯光)的验证工作,那么LIN总线对你来说一定不陌生。作为CAN总线的…

2026/9/26 3:34:39

Comsol相控阵聚焦声压分布仿真:相位补偿到网格剖分全流程解析

做相控阵声场仿真时,我踩过最冤枉的一个坑,是相位明明算对了,但声压分布图上焦点位置就是不对——后来才发现是Comsol默认时谐约定在捣鬼。这篇文章想把Comsol相控阵聚焦声压分布仿真的完整脉络理顺:从阵元相位怎么算、边界条件怎…

2026/9/26 3:34:39

大模型-Agent 面试八股文:TaoToken 统一 Key 配置速查(入门级)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/26 3:34:39

Cursor 安装及使用:TaoToken 统一 Key 接入与 settings.json 配置实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/26 3:29:39

链上竞技游戏 klawarena 接入 TaoToken:AI RPG 配置与验证指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/25 21:00:17

GAMP 5 基于风险的计算机化系统验证:软件分类与审计追踪实践

简介:《A Risk-Based Approach to Compliant GxP Computerized Systems》即业内熟知的GAMP 5指南,面向制药企业质量与IT合规人员、验证工程师及计算机化系统管理者,用于解决GxP法规环境下系统合规性难以科学落地的问题。文档以风险管理为主线…

2026/9/25 20:59:52

安全托管MSSP实战:从静态防御到人机协同的攻防运营与应急响应

简介:这份PPT围绕互联网业务安全托管服务展开,面向企业安全负责人、IT运维人员及关注MSSP/MSS选型的读者,重点回应传统安全过度依赖人工、碎片化静态防御难以对抗产业化攻击等痛点。资源共1个pptx文件,包体约30.63MB,以…

2026/9/26 0:04:28

画质修复APP怎么选?Wink影像修复能力与产品实力解析

现如今手机拍摄场景愈发丰富,演唱会直拍、漫展记录、老视频翻新、日常vlog录制,都会遇到画面模糊、噪点多、曝光失衡等问题,不少用户在挑选工具时比较在意一款画质修复APP能够兼顾修复效果与自然质感。Wink作为美图公司推出的全球化AI影像增强…

2026/9/26 0:04:28

超低能耗建筑K值要求能否满足?浙东铝业建筑型材解析

核心摘要浙东铝业的超低能耗系统门窗产品,资料显示保温性能可达 K≤1.4W/(㎡K),能够对应上海地区超低能耗住宅对门窗保温性能的应用需求。判断建筑是否满足超低能耗要求,不能只看铝型材本身,还需要结合玻璃、隔热条、密封系统、开…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/25 18:41:36

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑