发布时间:2026/8/7 8:17:26
计算机视觉基础|第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/8/7 8:17:26

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

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

2026/8/7 8:17:26

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

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

2026/8/7 10:32:32

思源宋体TTF:7种字重免费字体让你的中文设计瞬间专业

思源宋体TTF:7种字重免费字体让你的中文设计瞬间专业 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文排版找不到既专业又免费的好字体而苦恼吗?思源宋…

2026/8/7 10:32:32

公司网站建设后期维护:决定网站生死的关键环节

很多老板在提到公司网站建设的时候,第一反应往往是:“我要做一个高大上的官网”,“我要一个炫酷的3D展示”,“我要一个能直接变现的功能模块”。于是,钱砸下去了,时间耗进去了,团队跑断了腿,终于把网站上线了。那一刻,大家的普遍反应是“长舒一口气”,觉得总算有个交…

2026/8/7 10:27:32

HAProxy+Nginx集群架构优化与NFS性能调优实战

1. 项目背景与核心目标 这次实验源于一个真实的线上业务需求——某电商平台在促销活动期间遭遇了突发流量冲击,原有单机架构的Nginx服务出现响应延迟和宕机风险。技术团队决定采用HAProxyNginx集群架构来提升系统承载能力,同时使用NFS共享存储确保多节点…

2026/8/5 3:13:11

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/7 0:01:55

CAD图库管理:从文件归档到设计资产管理的效率革命

你肯定遇到过这种情况:打开一个老项目,想找某个特定的图块——比如一个标准的门、一个特定的设备符号,或者一个公司logo。你记得它就在某个DWG文件里,或者曾经从某个同事那里拷来过。于是,你开始在一堆命名混乱的文件夹…

2026/8/7 0:01:55

5分钟掌握Wand-Enhancer:2026年终极WeMod专业版免费解锁指南

5分钟掌握Wand-Enhancer:2026年终极WeMod专业版免费解锁指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand-Enhancer是一款功能强…

2026/8/7 0:01:55

“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求

“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求。而“软件测试”是质量控制的关键手段之一,属于QC范畴下的具体实践,其目标是发现缺陷、验证功能正确性、评估软件质量属…

2026/8/7 9:44:18

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/5 19:21:13

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/6 20:45:01

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…