【OpenCV学习】第5课:图像模糊(均值滤波,高斯滤波)

news/2024/11/29 3:45:34/

参考文章链接:https://blog.csdn.net/qq_30460949/article/details/121990114

仅自学做笔记用,后续有错误会更改

理论
1.Smooth/blur是图像处理中最简单和常用的操作之一
2.使用该操作的原因之一就是为了给图像预处理的时候减低噪声
3.使用Smooth/Blur操作其背后是数学的卷积计算
4.通常卷积算子计算都是线性操作,所以又叫线性滤波

均值滤波
均值滤波其原理图如下
在这里插入图片描述

高斯滤波
高斯滤波,这是一个建立在高斯正态分布基础上的滤波器。

一维高斯函数:在这里插入图片描述

可以看到,G(x)的跟sigma的取值有极大的关系。

sigma取值越大,图像越平缓
sigma取值越小,图像越尖锐
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
从以上描述中我们可以看出,高斯滤波模板中最重要的参数就是高斯分布的标准差σ。它代表着数据的离散程度,如果σ较小,那么生成的模板中心系数越大,而周围的系数越小,这样对图像的平滑效果就不是很明显;相反,σ较大时,则生成的模板的各个系数相差就不是很大,比较类似于均值模板,对图像的平滑效果就比较明显。通过下面的一维高斯分布图也可验证上述观点。
在这里插入图片描述

二维高斯函数:在这里插入图片描述
G(x,y)在x轴y轴上的分布是一个突起的帽子的形状。这里的sigma可以看作两个值,一个是x轴上的分量sigmaX,另一个是y轴上的分量sigmaY。对图像处理可以直接使用sigma并对图像的行列操作,也可以用sigmaX对图像的行操作,再用sigmaY对图像的列操作。它们是等价的:

当sigmaX和sigmaY取值越大,整个形状趋近于扁平
当sigmaX和sigmaY取值越小,整个形状越突起
在这里插入图片描述
高斯滤波原理就是将上图的二维正态分布应用在二维的矩阵上,G(x,y)的值就是矩阵上的权值,将得到的权值进行归一化,将权值的范围约束在[0,1]之间,并且所有的值的总和为1。

假设一个33的核,sigma取值1.5以及sigma取5.0,归一化后其权值分布分别是:
在这里插入图片描述
假设一个5
5的核,sigma取值1.5以及sigma取5.0,经归一化后其权值分布分别是:
在这里插入图片描述
可以看到,权值的分布是以中间高四周低来分布的。并且距离中心越远,其对中心点的影响就越小,权值也就越小。
总结:
核大小固定,sigma值越大,权值分布越平缓。因此邻域各点值对输出值的影响越大,最终结果造成图像越模糊
核大小固定,sigma值越小,权值分布越突起。因此邻域各点值对输出值的影响越小,图像变化越小。假如中心点权值为1,其他点权值为0,最终结果是图像没有任何变化。
sigma固定时,核越大图像越模糊
sigma固定时,核越小图像变化越小

相关API
均值模糊:
blur(Mat src, Mat dst, Size(xredius,yradius), Point(-1,-1));
高斯模糊:
GaussianBlur(Mat src,Mat dst,Size(11,11), sigmax,sigmay);其中Size(x,y)的x和y必须是正数而且是奇数

代码示例

Mat srcImageMat,dstImageMat;
srcImageMat = imread(...);// 均值滤波 3*3的格子(也就是核), 后边Point(-1,-1)表示操作的其中心点
// blur(srcImageMat, dstImageMat, Size(3,3), Point(-1,-1));
// 均值滤波 1*15的格子, 也就是仅对Y轴进行模糊
// blur(srcImageMat, dstImageMat, Size(1,15), Point(-1,-1));
// 均值滤波 15*1的格子, 也就是仅对X轴进行模糊(也就是电影镜头横向移动时出现的模糊)
// blur(srcImageMat, dstImageMat, Size(15,1), Point(-1,-1));// 高斯滤波 核固定时,后边两个sigma值越大越模糊,  后边sigma值固定时, 核越大也越模糊
GaussianBlur(srcImageMat, dstImageMat,Size(5,5), 11, 11);

http://www.ppmy.cn/news/1965.html

相关文章

小红书和达人合作步骤是什么?对接达人合作流程分享

现在小红书作为不错的内容分享媒体,小红书内容分享的核心便是达人。许多商家也想知道该如何与达人合作。今天,就来和大家一起分享一下这个问题,带领大家了解并解析小红书和达人合作步骤是什么?并给大家解析一下期间有哪些注意事项。 其实商家…

使用setuptools构建python包

python包分发方式 源码包分发: 源码包安装过程是先解压,再编译。最后才安装,所以其是跨平台的,由于每次安装都需要进行编译,相对于二进制包安装方式来说安装速度较慢。 解压——编译——安装 源码包本质上是一个压缩…

LINUX下看门狗的使用

0、基本原理 使能看门狗,并配置看门狗,周期性的给看门狗设备写入数据即为喂狗。 1、使能硬看门狗 内核和设备树使能看门狗,具体的需要参考对应的cpu文档对看门狗的描述。 2、应用程序喂狗 参考应用程序源码如下: #include &…

【入门】初识深度学习

文档背景 机器学习和深度学习的概念十分火热。听上去也很难,不慌,有时候就需要行动在前脑子在后。不管,干就完啦。 前言 人工智能(ArtificialIntelligence,AI)是最宽泛的概念,是研发用于模拟、延…

【Pytorch】第 1 章 :强化学习和 PyTorch 入门

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

Unity简单基础

Unity文件夹的作用 Resources存放资源的特殊文件夹,Resources中全部资源会被打包Pluging存放第三方包、工具代码、sdk文件Editor为Unity编辑器扩展程序的目录,可以在根目录下,也可以在子目录下StreamingAssets该文件夹也会在打包的时候全部打…

FL STUDIO水果21版本新主题、插件、功能介绍

大家常说的“DJ音乐”实际应该指的是EDM音乐,现在市面上的宿主软件几乎都可以制作EDM音乐。DJ音乐制作要学多久?可长可短,想要学精一门艺术和技术至少需要一两年时间。FL Studio软件全称是Fruity Loops Studio,由于这款软件自身lo…

微信小程序反编译

本文转载于:https://www.cnblogs.com/one-seven/p/15524457.html 微信小程序反编译 微信文件保存位置\WeChat Files\Applet\小程序id_APP_.wxapkg 现在小程序是处于编码状态 github上下载一个python版的解密工具 https://github.com/superdashu/pc_wxapkg_decr…