圖像與濾波

2021-02-24 算法與數據結構

來自:阮一峰的網絡日誌

連結:ruanyifeng.com/blog/2017/12/image-and-wave-filters.html

我對圖像處理一直很感興趣,曾經寫過好幾篇博客。

前幾天讀到一篇文章,它提到圖像其實是一種波,可以用波的算法處理圖像。我頓時有一種醍醐灌頂的感覺,從沒想到這兩個領域是相關的,圖像還可以這樣玩!下面我就來詳細介紹這篇文章。


一、為什麼圖像是波?

我們知道,圖像由像素組成。下圖是一張 400 x 400 的圖片,一共包含了 16 萬個像素點。

每個像素的顏色,可以用紅、綠、藍、透明度四個值描述,大小範圍都是0 ~ 255,比如黑色是[0, 0, 0, 255],白色是[255, 255, 255, 255]。通過 Canvas API 就可以拿到這些值。

如果把每一行所有像素(上例是400個)的紅、綠、藍的值,依次畫成三條曲線,就得到了下面的圖形。

可以看到,每條曲線都在不停的上下波動。有些區域的波動比較小,有些區域突然出現了大幅波動(比如 54 和 324 這兩點)。

對比一下圖像就能發現,曲線波動較大的地方,也是圖像出現突變的地方。

這說明波動與圖像是緊密關聯的。圖像本質上就是各種色彩波的疊加。


二、頻率

綜上所述,圖像就是色彩的波動:波動大,就是色彩急劇變化;波動小,就是色彩平滑過渡。因此,波的各種指標可以用來描述圖像。

頻率(frequency)是波動快慢的指標,單位時間內波動次數越多,頻率越高,反之越低。

上圖是函數sin(Θ)的圖形,在2π的周期內完成了一次波動,頻率就是1。

上圖是函數sin(2Θ)的圖形,在2π的周期內完成了兩次波動,頻率就是2。

所以,色彩劇烈變化的地方,就是圖像的高頻區域;色彩穩定平滑的地方,就是低頻區域。

三、濾波器

物理學對波的研究已經非常深入,提出了很多處理波的方法,其中就有濾波器(filter):過濾掉某些波,保留另一些波。

下面是兩種常見的濾波器 。

低通濾波器(lowpass):減弱或阻隔高頻信號,保留低頻信號

高通濾波器(highpass):減弱或阻隔低頻信號,保留高頻信號

下面是低通濾波的例子。

上圖中,藍線是原始的波形,綠線是低通濾波lowpass後的波形。可以看到,綠線的波動比藍線小很多,非常平滑。

下面是高通濾波的例子。

上圖中,黃線是原始的波形,藍線是高通濾波highpass後的波形。可以看到,黃線的三個波峰和兩個波谷(低頻波動),在藍線上都消失了,而黃線上那些密集的小幅波動(高頻波動),則是全部被藍線保留。

再看一個例子。

上圖有三根曲線,黃線是高頻波動,紅線是低頻波動。它們可以合成為一根曲線,就是綠線。

上圖中,綠線進行低通濾波和高通濾波後,得到兩根黑色的曲線,它們的波形跟原始的黃線和紅線是完全一致的。


四、圖像的濾波

瀏覽器實際上包含了濾波器的實現,因為 Web Audio API 裡面定義了聲波的濾波。這意味著可以通過瀏覽器,將lowpass和highpass運用於圖像。

lowpass使得圖像的高頻區域變成低頻,即色彩變化劇烈的區域變得平滑,也就是出現模糊效果。

上圖中,紅線是原始的色彩曲線,藍線是低通濾波後的曲線。

highpass正好相反,過濾了低頻,只保留那些變化最快速最劇烈的區域,也就是圖像裡面的物體邊緣,所以常用於邊緣識別。

上圖中,紅線是原始的色彩曲線,藍線是高通濾波後的曲線。

下面這個網址,可以將濾波器拖到圖像上,產生過濾後的效果。

瀏覽器實現濾波的範例代碼,可以看這個倉庫。

●本文編號547,以後想閱讀這篇文章直接輸入547即可

●輸入m獲取文章目錄

Java編程

更多推薦18個技術類微信公眾號

涵蓋:程序人生、算法與數據結構、黑客技術與網絡安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、資料庫、運維等。

相關焦點

  • 【數字圖像處理系列五】圖像濾波之空間濾波:圖像平滑降噪和圖像銳化
    【數字圖像處理系列四】在圖像增強:線性、 分段線性、 對數、 反對數、 冪律(伽馬)變換、直方圖均衡【數字圖像處理系列三】一文中我們從圖像灰度變換的角度闡述了圖像增強的各種方式,本文我們將一起學習圖像處理中重點的方式:圖像濾波,圖像濾波分為空間域濾波和頻率域濾波,頻率域濾波我們將在下一節重點說明。
  • opencv-python圖像預處理-濾波
    為了消除外界環境對圖像採集的幹擾,增強圖像的邊緣及灰度跳變的部分,使圖像變得清晰以及提高圖像處理速度需要對圖像進行預處理操作,主要是對圖像進行濾波和增強操作。使用的方法可以分為空間域處理和頻率域處理兩類。空間域指圖像平面本身,這類圖像處理方法用各種模板直接與圖像進行卷積運算,實現對圖像的處理。
  • 使用Matlab圖像處理(三)——圖像濾波原理
    小白覺得圖像濾波就是藉助周圍圖像的數據來修正我們想要修正的數據。舉個最簡單的例子,有一組數[1 2 6 4 5],我們發現中間有個數好像比較大,我們發現整個數據好像符合遞增的特點,所以這個數字有可能是3,但是我們又不能不「尊重」這個數本身的大小,所以怎麼辦呢,我們將估計的數和它表現的數求取平均數,也就是取4.5來代替原來的數。
  • 圖像各向異性濾波
    對圖像來說各向異性就是在每個像素點周圍四個方向上梯度變化都不一樣,濾波的時候我們要考慮圖像的各向異性對圖像的影響,而各向同性顯然是說各個方向的值都一致,常見的圖像均值或者高斯均值濾波可以看成是各向同性濾波。
  • 基於MATLAB圖像處理的中值濾波、均值濾波以及高斯濾波的實現與對比
    二維中值濾波輸出為g(x,y)=med{f(x-k,y-l),(k,l∈W)} ,其中,f(x,y),g(x,y)分別為原始圖像和處理後圖像。W為二維模板,通常為3*3,5*5區域,也可以是不同的的形狀,如線狀,圓形,十字形,圓環形等。
  • MATLAB中的圖像變換之線性空間濾波
    凡是使用空間模板進行的圖像處理,我們就定義為空間濾波,模板本身被稱為空間濾波器。圖像的空域線性濾波和非線性濾波在空域對圖像進行濾波處理無非兩種情況:線性濾波和非線性濾波。濾波的意思就是對原圖像的每個像素周圍一定範圍內的像素進行運算,運算的範圍就稱為掩膜或領域。
  • 【乾貨】遙感圖像處理之空間域增強&卷積濾波&形態學濾波
    這種增強方式往往是有目的的,如增強圖像中的線狀物體細部部分或者主幹部分等。卷積濾波卷積(Convolutions)濾波是通過消除特定的空間頻率來使圖像增強,根據增強類型(低頻、中頻和高頻)不同可分為低通濾波、帶通濾波和高通濾波。此外還可以增強圖像某些方向特徵的方向濾波等。它們的核心部分是卷積核。
  • Matlab圖像處理(四)——常用濾波的實現
    2 [height, width]=size(A_salt_pepper);   %輸入圖像是p×q的,且p>n,q>n   3 A_salt_pepper2=zeros(height+n-1,width+n-1); %存放延拓後的圖片 4 for i=1+(n-1)/2:1+(n-1)/2+height-1 5     for j=1+(n
  • 基於STFT濾波算法的指紋圖像識別系統的設計與實現
    關鍵詞:指紋增強;二值化;特徵提取;指紋圖像識別;圖像處理 引言 作為最重要的生物識別技術之一,指紋識別技術已經被廣泛應用與門禁、考勤、身份驗證等領域。指紋識別系統是由指紋圖像採集、指紋圖像增強、指紋圖像二值化、指紋圖像細化、指紋圖像特徵提取和指紋圖像匹配等模塊所構成的模式識別系統。
  • 卡爾曼與卡爾曼濾波
    卡爾曼濾波(Kalman filtering)一種利用線性系統狀態方程,通過系統輸入輸出觀測數據,對系統狀態進行最優估計的算法。由於觀測數據中包括系統中的噪聲和幹擾的影響,所以最優估計也可看作是濾波過程。數據濾波是去除噪聲還原真實數據的一種數據處理技術, Kalman濾波在測量方差已知的情況下能夠從一系列存在測量噪聲的數據中,估計動態系統的狀態.
  • MATLAB中的非線性空間濾波基礎
    IPT中常用於生成非線性空間濾波的一個工具是函數ordfilt2,它可以生成統計排序( order-statistic )濾波器(也稱為排序濾波器,rank filter )。它們都是非線性空間濾波器,其響應基於對圖像鄰域中所包含的像素進行排序,然後使用排序結果確定的值來替代鄰域中的中心像素的值。
  • Matlab圖像增強與復原技術在SEM圖像中的應用
    在分析圖像信號的頻率特性時,對於一幅圖像,直流分量表示了圖像的平均灰度;大面積的背景區域和緩慢變化部分代表了圖像的低頻分量,而它的邊緣,細節,跳躍部分以及顆粒噪聲都代表圖像的高頻分量。因此,在頻域中對圖像採用濾波器函數衰減高頻信息而使低頻信息暢通無阻的過程稱為低通濾波。通過濾波可以去除高頻分量,消除噪聲,起到平滑圖像去噪聲的增強作用。
  • 車載毫米波雷達之大話卡爾曼濾波
    所以,卡爾曼濾波在毫米波雷達的應用上,就扮演著至關重要的角色。卡爾曼&卡爾曼濾波什麼是卡爾曼濾波?卡爾曼濾波和傅立葉變換、泰勒級數一樣,都是以其發明人命名。稍微不同的是,卡爾曼是個現代人!卡爾曼是匈牙利數學家,1930年出生於匈牙利首都布達佩斯。
  • 基於MATLAB的中值濾波算法實現
    在實時圖像採集中,不可避免的會引入噪聲,尤其是幹擾噪聲和椒鹽噪聲,噪聲的存在嚴重影響邊緣檢測的效果,中值濾波是一種基於排序統計理論的非線性平滑計數
  • 圖像處理 淺談圖像金字塔
    圖像金子塔,是一種經典的圖像多尺度描述方法。它將降採樣和平滑濾波結合在一起,對圖像進行多尺度表示。
  • 阿貝成像原理和空間濾波實驗及計算機模擬實驗
    阿貝-波特(Abbe-Porter)實驗作為近代物理實驗中的重要實驗之一,能很好地幫助學生理解頻譜分解、空間頻率、空間濾波、頻譜綜合等概念,更有助於對《數字圖像處理》等專業課程的學習.在實驗中,了解阿貝成像原理後,利用阿貝-波特實驗裝置和濾波系統,從改變頻譜入手來改造一幅光學圖像,進行光學信息處理.在此基礎上,在MATLAB環境中完成阿貝-波特實驗的計算機模擬,從而實現數字圖像的處理
  • 色彩濾波陣列(Color Filter Array)
    原文連結:http://www.wangdali.net/cfa/#comment-15588作者:xiaomin色彩濾波陣列
  • 圖像增強——頻域增強定義和步驟
    在進行圖像處理的過程中,獲取原始圖像後,首先需要對圖像進行預處理,因為在獲取圖像的過程中,往往會發生圖像失真,使所得圖像與原圖像有某種程度上的差別。在許多情況下,人們難以確切了解引起圖像降質的具體物理過程及其數學模型,但卻能估計出使圖像降質的一些可能原因,針對這些原因採取簡單易行的方法,改善圖像質量。
  • 一種基於FPGA的實時紅外圖像預處理方法
    該方法採用了流水線技術來並行完成非均勻校正、空間濾波、直方圖統計等多個紅外圖像預處理算法,對系統結構進行了改進和優化。經過實驗測試驗證,該方法合理可行,能夠實時高效地完成紅外圖像預處理任務。與DSP圖像預處理系統相比可以節約將近50%的處理時間。
  • 濾波電感的選擇_濾波電感的作用
    打開APP 濾波電感的選擇_濾波電感的作用 佚名 發表於 2019-11-07 15:02:39   濾波電感的選擇   濾波電感,該如何進行選擇呢?