一、為什么圖像是波?
我們知道,圖像由像素組成。下圖是一張 400 x 400 的圖片,一共包含了 16 萬個(gè)像素點(diǎn)。每個(gè)像素的顏色,可以用紅、綠、藍(lán)、透明度四個(gè)值描述,大小范圍都是0 ~ 255,比如黑色是[0, 0, 0, 255],白色是[255, 255, 255, 255]。通過 Canvas API 就可以拿到這些值。如果把每一行所有像素(上例是400個(gè))的紅、綠、藍(lán)的值,依次畫成三條曲線,就得到了下面的圖形。

可以看到,每條曲線都在不停的上下波動(dòng)。有些區(qū)域的波動(dòng)比較小,有些區(qū)域突然出現(xiàn)了大幅波動(dòng)(比如 54 和 324 這兩點(diǎn))。對比一下圖像就能發(fā)現(xiàn),曲線波動(dòng)較大的地方,也是圖像出現(xiàn)突變的地方。這說明波動(dòng)與圖像是緊密關(guān)聯(lián)的。圖像本質(zhì)上就是各種色彩波的疊加。

二、頻率
綜上所述,圖像就是色彩的波動(dòng):波動(dòng)大,就是色彩急劇變化;波動(dòng)小,就是色彩平滑過渡。因此,波的各種指標(biāo)可以用來描述圖像。
頻率(frequency)是波動(dòng)快慢的指標(biāo),單位時(shí)間內(nèi)波動(dòng)次數(shù)越多,頻率越高,反之越低。

上圖是函數(shù)sin(Θ)的圖形,在2π的周期內(nèi)完成了一次波動(dòng),頻率就是1。

上圖是函數(shù)sin(2Θ)的圖形,在2π的周期內(nèi)完成了兩次波動(dòng),頻率就是2。
所以,色彩劇烈變化的地方,就是圖像的高頻區(qū)域;色彩穩(wěn)定平滑的地方,就是低頻區(qū)域。
三、濾波器
物理學(xué)對波的研究已經(jīng)非常深入,提出了很多處理波的方法,其中就有濾波器(filter):過濾掉某些波,保留另一些波。
下面是兩種常見的濾波器 。
瀏覽器實(shí)際上包含了濾波器的實(shí)現(xiàn),因?yàn)?Web Audio API 里面定義了聲波的濾波。這意味著可以通過瀏覽器,將lowpass和highpass運(yùn)用于圖像。
lowpass使得圖像的高頻區(qū)域變成低頻,即色彩變化劇烈的區(qū)域變得平滑,也就是出現(xiàn)模糊效果。

highpass正好相反,過濾了低頻,只保留那些變化最快速最劇烈的區(qū)域,也就是圖像里面的物體邊緣,所以常用于邊緣識別。
四、擴(kuò)展閱讀
1.圖片壓縮算法
airomyas 說:
其實(shí)這就是AAC編碼,JPEG編碼這些音頻壓縮、圖片壓縮算法的根本原理。這些算法里面都涉及類似離散余弦變換這種處理,就是把待處理數(shù)據(jù)從時(shí)域變換到頻域,都是高頻的部分代表變化劇烈的部分,低頻部分就是代表變化不劇烈的地方。換到頻域以后,低頻的部分使用很少的空間就能保存,高頻的部分再做一點(diǎn)有損的壓縮,整體的大小就大大降低了,這個(gè)就是編碼的過程。通過控制有損壓縮的程度,就可以控制編碼后的質(zhì)量。解碼的過程就是把頻域再還原回時(shí)域。
2.小波算法