【图形学】滤波

持续更新中。。。。。。。


写在前面

最近在学习关于美化人脸的渲染,磨皮,美白,先处理磨皮的方面,前期处于调研阶段,持续更新到项目结束吧。

磨皮调研思路:毕竟现在还在入门打基础的阶段,百度发现效果比较好的是【双边滤波】,他是在【高斯模糊】的基础上加上了保边效果,高斯模糊又是【去噪声】的一种,好嘞,一个简单的学习路线出来啦,先搞定噪声的基本原理和应用,之后进行高斯模糊,再去搞定双边(直接看过双边的原理,对不起数学老师。。看的好晕,还是从头来吧)

参考博文:

浅墨大神:
【OpenCV入门教程之八】线性邻域滤波专场:方框滤波、均值滤波与高斯滤波

【Unity Shader编程】之十五 屏幕高斯模糊(Gaussian Blur)后期特效的实现


傅立叶变换

一个有趣的傅里叶的文章,图片给的都不错


【图像滤波】即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制。

【滤波操作】消除图像中的噪声成分叫作图像的平滑化或滤波操作。

【滤波器】一种形象的比喻法是:我们可以把滤波器想象成一个包含加权系数的窗口,当使用这个滤波器平滑处理图像时,就把这个窗口放到图像之上,透过这个窗口来看我们得到的图像。一个能降低高频成分幅度的滤波器就能够减弱噪声的影响

【图像滤波的目的】:

  1. 抽出对象的特征作为图像识别的特征模式;
  2. 为适应图像处理的要求,消除图像数字化时所混入的噪声

【滤波处理的要求】:

  1. 不能损坏图像的轮廓及边缘等重要信息;
  2. 使图像清晰视觉效果好。

【波器的种类】OpenCV中,提供了如下五种常用的图像平滑处理操作方法

  1. 方框滤波——boxblur函数
  2. 均值滤波(邻域平均滤波)——blur函数  (线性)
  3. 高斯滤波——GaussianBlur函数  (线性)
  4. 中值滤波——medianBlur函数  (非线性)
  5. 双边滤波——bilateralFilter函数  (非线性)

【方框模糊】


【均值模糊】

使用卷积操作,使用的卷积核中各个元素值都相等,且相加等于1,也就是说,卷积后得到的像素值是其邻域内各个像素的平均值。


【高斯模糊】(Gaussian Blur)

也叫高斯平滑,高斯滤波,其通常用它来减少图像噪声以及降低细节层次,常常也被用于对图像进行模糊。

高斯模糊用的卷积核:高斯核。是一个正方形大小的滤波核。

通俗的讲,高斯模糊就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯模糊的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。

高斯分布的数学表示如下:

其中,x为到像素中心的距离,σ为标准差(一般取值为1)。

模拟了邻域每个像素对当前处理像素的影响程度,----距离越近,影响越大。高斯核的维数越高,模糊程度越大。

分条来说明一下高斯模糊的几个要点:

  1. 从数学的角度来看,图像的高斯模糊过程就是图像与正态分布做卷积
  2. 由于正态分布又叫作高斯分布,所以这项技术就叫作高斯模糊。
  3. 高斯模糊能够把某一点周围的像素色值按高斯曲线统计起来,采用数学上加权平均的计算方法得到这条曲线的色值
  4. 所谓"模糊",可以理解成每一个像素都取周边像素的平均值
  5. 图像与圆形方框模糊做卷积将会生成更加精确的焦外成像效果。由于高斯函数的傅立叶变换是另外一个高斯函数,所以高斯模糊对于图像来说就是一个低通滤波器

去噪声

高斯模糊

边缘保护:双边滤波

在图像的特征提取:边缘,细节

边缘细节特征提取:梯度、拉普拉斯变换、sobel算子、sift、fast、LoG、DoG、HoG、LRT等这些算子提取得到。(根据灰度变换)


【中值模糊】

选择邻域内对所有像素排序后的中值替换颜色。


图像平滑-双边滤波+联合双边滤波+导向滤波

猜你喜欢

转载自blog.csdn.net/ABigDeal/article/details/85844107