龙空技术网

二维卷积的神奇用途:照片的磨皮和模糊处理

王珂 274

前言:

此时兄弟们对“图像处理中的加权平均”大约比较讲究,朋友们都需要剖析一些“图像处理中的加权平均”的相关文章。那么小编同时在网摘上收集了一些关于“图像处理中的加权平均””的相关内容,希望看官们能喜欢,看官们一起来学习一下吧!

磨皮是很多人喜闻乐见的功能,尤其女人。

那么,手机,或者说计算机,是如何通过计算实现磨皮的呢?

我们首先来看,照片是如何存储在计算机中的。

图像的存储

我们所见的图像,在电脑中实际上是一个数字阵列,即矩阵。

图片有宽度(width)和高度(height),而矩阵有行(row)和列(column),正好一个萝卜一个坑地对应。

举一个通俗的例子。

假设图片分辨率为4×4,那么,图片“/”,可在电脑中表示为:

255在显示器上将被显示为纯白,0为纯黑。

介于0到255之间的,将被显示为不同程度的“灰色”,因此,这图被称为“灰度图”。

为什么是0到255呢?

这是因为,我们使用一个字节,也就是8bit二进制(0000 0000到1111 1111)来存储每个像素点,它可以表示256种不同的灰度。

当然,也有用10bits或12bits或16bits的场景,比如一些医疗成像器械。如果用16bits,可以表示65536种灰颜色,颜色分辨得更精准。

彩色图像由RGB(红、绿、蓝)三色组成,原理一样。

这样一来,对图像的操作,就可以转换成对矩阵的操作,实际上,图像处理软件正是这么做的。

有了图像矩阵,如何进行磨皮的操作呢?

平均与模糊

磨皮,实际上就是将该模糊的区域模糊化,这样就能消除皱纹、痘痘等等细节。

那么,如何将图片模糊?

在生活中,我们可能遇到过这种情况:

称体重时,反复称三四次,再求个平均,以确保秤没问题,是自己真变肥了。

为什么平均呢?

因为,误差会产生“干扰”,会使数据“波动”,“平均”可使数据更“平滑”。

“平滑”,就是图像中的“模糊”。

如果我们将图像矩阵中的每一个点与其周围进行“平均”,那么照片就变平滑了。

比如,上面的4×4矩阵:

我们可以将蓝色方框中的像素点与周围的点进行平均:

蓝色点 = (255×7 + 0 + 0) / 9 = 198

然后,我们“从左到右、从上到下”一格一格地移动红色的窗口,将每一点都重新进行平均计算(边缘补零),就会发现:

原本纯黑的地方,向白色靠拢了;原本纯白的地方,向黑色靠拢了。

黑白的界限不再“泾渭分明”,而变成“逐渐过渡”。

这个红色方框所构成的3×3矩阵,就是一个“滤波器”,该矩阵的各个元素都是1,上面的算法就是矩阵的“卷积”。

如果我们对这张测试图片进行类似的“平滑”操作:

测试图片

则效果如下:

平滑处理后的图片

这样,图片就被模糊了。

又比如,经典的lena图:

原图

平均一下?

模糊

非常显然,尖锐的地方,比如帽子上的羽毛,被模糊(平滑)了。

如果我们仅对面部进行模糊,就是一种“磨皮”的效果。

当然,这里仅采用了“平权平均”,为了追求更好的效果,实际程序员往往会使用“加权平均”。

至于如何选取合适的“加权系数”,这就是数字图像处理中“卷积与滤波器”的内容,而且,图像不仅能进行平均,还能进行傅里叶变换等其它操作,在此点到为止,不予展开。

科技的日新月异使我们突然意识到:

1.照片拍得太清晰,并不一定受欢迎,

2.磨皮不仅可以用砂纸,还能用矩阵。

标签: #图像处理中的加权平均