一、为什么图像是波?
我们知道,图像由像素组成。下图是一张 400 x 400 的图片,一共包含了 16 万个像素点。每个像素的颜色,可以用红、绿、蓝、透明度四个值描述,大小范围都是0 ~ 255
,比如黑色是[0, 0, 0, 255]
,白色是[255, 255, 255, 255]
。通过 Canvas API 就可以拿到这些值。如果把每一行所有像素(上例是400个)的红、绿、蓝的值,依次画成三条曲线,就得到了下面的图形。
![](https://img.haomeiwen.com/i2354823/3abb5948da0a9902.png)
可以看到,每条曲线都在不停的上下波动。有些区域的波动比较小,有些区域突然出现了大幅波动(比如 54 和 324 这两点)。对比一下图像就能发现,曲线波动较大的地方,也是图像出现突变的地方。这说明波动与图像是紧密关联的。图像本质上就是各种色彩波的叠加。
![](https://img.haomeiwen.com/i2354823/7c25c35941bca34d.png)
二、频率
综上所述,图像就是色彩的波动:波动大,就是色彩急剧变化;波动小,就是色彩平滑过渡。因此,波的各种指标可以用来描述图像。
频率(frequency)是波动快慢的指标,单位时间内波动次数越多,频率越高,反之越低。
![](https://img.haomeiwen.com/i2354823/7a8d6c8ae6480ea6.png)
上图是函数sin(Θ)的图形,在2π的周期内完成了一次波动,频率就是1。
![](https://img.haomeiwen.com/i2354823/b1ec94c0a2470f10.png)
上图是函数sin(2Θ)的图形,在2π的周期内完成了两次波动,频率就是2。
所以,色彩剧烈变化的地方,就是图像的高频区域;色彩稳定平滑的地方,就是低频区域。
三、滤波器
物理学对波的研究已经非常深入,提出了很多处理波的方法,其中就有滤波器(filter):过滤掉某些波,保留另一些波。
下面是两种常见的滤波器 。
浏览器实际上包含了滤波器的实现,因为 Web Audio API 里面定义了声波的滤波。这意味着可以通过浏览器,将lowpass
和highpass
运用于图像。
lowpass
使得图像的高频区域变成低频,即色彩变化剧烈的区域变得平滑,也就是出现模糊效果。
![](https://img.haomeiwen.com/i2354823/bc9be1f6372c77aa.png)
highpass
正好相反,过滤了低频,只保留那些变化最快速最剧烈的区域,也就是图像里面的物体边缘,所以常用于边缘识别。![](https://img.haomeiwen.com/i2354823/b6b4057362fb8df2.png)
四、扩展阅读
1.图片压缩算法
airomyas 说:
其实这就是AAC编码,JPEG编码这些音频压缩、图片压缩算法的根本原理。这些算法里面都涉及类似离散余弦变换这种处理,就是把待处理数据从时域变换到频域,都是高频的部分代表变化剧烈的部分,低频部分就是代表变化不剧烈的地方。换到频域以后,低频的部分使用很少的空间就能保存,高频的部分再做一点有损的压缩,整体的大小就大大降低了,这个就是编码的过程。通过控制有损压缩的程度,就可以控制编码后的质量。解码的过程就是把频域再还原回时域。
2.小波算法
网友评论