基本圖像操作
1.直方圖(histograms)
定義
直方圖是對圖像在某個指標(biāo)的不同值的數(shù)量的統(tǒng)計长搀,如亮度直方圖源请,灰度直方圖,顏色直方圖抽碌。
例子:
亮度直方圖 -> 表達了每個亮度級的像素數(shù),圖像對比度
亮度 = (R + B + G) / 3 范圍 0-255
優(yōu)缺點
優(yōu)點:簡單涮总,快速烹笔,高效
缺點:不能描述空間信息谤职;不能描述圖像細節(jié)(因為僅表達了不同級的統(tǒng)計值分布,不同圖像可以有很接近的直方圖)
金字塔直方圖
將圖片分為n x n的子圖漩蟆,每個子圖一個直方圖,從而能夠區(qū)分總體直方圖相近的不同圖像捺癞。
<img src="/visual_images/pyramid_histogram.png" width="800" height="400"/>
Q: 圖像的局部不變特征
圖像在經(jīng)過一些變換后仍保持不變的特征儿倒,變換有尺度夫否,平移汞幢,旋轉(zhuǎn),仿射仲智,投影,光度前联,卷積等。
基本問題:局部不變特征的檢測烁落,描述,匹配寸谜。
特征除了具備不變性,還應(yīng)具有可靠性,對噪聲等的魯棒性等讨跟。目前的特征算子有SIFT等×构荩【HOG(方向梯度直方圖)锥腻,用于物體檢測的特征瘦黑。 介紹】
綜述:Tinne Tuytelaars. Local Invariant Feature Detectors: A Survey, 2007 Computer Graphic & Vision
2.點運算(point operation)
點運算將輸入圖象映射為輸出圖象存崖,輸出圖象每個象素點的灰度值僅由對應(yīng)的輸入象素點的值決定。它常用于改變圖象的灰度范圍及分布供搀,是圖象數(shù)字化及圖象顯示的重要工具钠至。點運算因其作用性質(zhì)有時也被稱為對比度增強葛虐、對比度拉伸或灰度變換。
點運算實際上是灰度到灰度的映射過程棉钧,設(shè)輸入圖象為A(x,y),輸出圖象為B(x,y)宪卿,則點運算可表示為
B(x,y)=f(A(x,y))
Basic點運算
linear brightness relation
其中k為增益佑钾,l為偏移
<img src="/visual_images/linear_func.jpg" width="600" height="300"/>
鋸齒算子sawtooth
<img src="/visual_images/sawtooth.jpg" width="250" height="350"/>
其他數(shù)學(xué)函數(shù)
- logarithm
<img src="/visual_images/log.jpg" width="600" height="250"/> - exponent
<img src="/visual_images/exp.png" width="600" height="250"/>
直方圖操作histogram
直方圖正則化normalization
拉伸平移原始直方圖
其中是想要歸一化到的范圍休溶,如0,255。
<img src="/visual_images/histogram_norm.jpg" width="600" height="400"/>
直方圖均衡化equalization
使直方圖分布均勻
對于連續(xù)值:
<img src="/visual_images/histogram_equalization.jpg" width="650" height="400"/>
對于離散值:
其中s表示累積概率分布豁跑。
變換函數(shù)g:
example:
<img src="/visual_images/he_example.png" width="650" height="300"/>
<img src="/visual_images/he_example2.png" width="600" height="380"/>
<img src="/visual_images/he_example3.png" width="650" height="450"/>
可以看出均衡化增強了對比度艇拍,使得表示的級數(shù)范圍更大了
均衡化和歸一化也可以對顏色通道進行的宠纯。
<img src="/visual_images/color_histogram_trans.png" width="600" height="300"/>
均衡化與歸一化對比:
歸一化:線性可逆過程,對比度變化比較緩和soft
均衡化:非線性不可逆變換快集,對比度變化明顯个初,強烈院溺。
直方圖匹配specification
直方圖匹配將原圖的直方圖轉(zhuǎn)變?yōu)槟繕?biāo)直方圖的形式。
<img src="/visual_images/histogram_specification_steps.png" width="650" height="450"/>
步驟是:將兩個直方圖做均衡化(求累積概率)逐虚,取最接近的級數(shù)匹配谆膳,匹配關(guān)系就是轉(zhuǎn)換關(guān)系漱病。最接近匹配的目的就是讓轉(zhuǎn)換后的累積概率近似,從而原始級數(shù)概率分布就會相似凝果。
<img src="/visual_images/histogram_specification.png" width="650" height="450"/>
閾值處理Thresholding
閾值處理是給定一個閾值T睦尽,讓大于T的為255白色,小于T的為0黑色的二值化處理山害。
<img src="/visual_images/threshold.png" width="600" height="200"/>
自適應(yīng)閾值處理
- Otsu's method
最大化下面的值:
<img src="/visual_images/ada_threshold.png" width="700" height="400"/>
圖像噪聲
圖像噪聲可以分為兩類:
- 高斯噪聲gaussian noise
來源:傳感器噪聲浪慌,光照不足朴则,高溫乌妒;電子電路噪聲。
公示表示:
其中x撤蚊,y是位置侦啸,i是通道丧枪;noise是高斯噪聲滿足
<img src="/visual_images/gaussian_noise.png" width="500" height="200"/> - 椒鹽噪聲salt and pepper noise
來源:信號到數(shù)字轉(zhuǎn)換錯誤拧烦,位傳輸錯誤挂绰。
salt:指某個像素為255葵蒂; pepper:某個像素為0重虑; 噪聲密度為常數(shù)
<img src="/visual_images/salt_pepper_noise.png" width="530" height="230"/>
組操作
指利用了像素周圍的信息。
模版卷積
這個其實就是一個卷積操作
平均算子
當(dāng)卷積核數(shù)值都為為1/n時永高,稱平均算子命爬。
作用是可以減少噪聲辐脖,但是平均操作會造成圖片模糊和細節(jié)丟失。
<img src="/visual_images/average_filter.png" width="700" height="400"/>
高斯平均
為了保留更多原始細節(jié)艇抠,有了高斯平均算子:
<img src="/visual_images/gaussian_averageing.png" width="600" height="400"/>
與平均算子對比:
<img src="/visual_images/averageing_gaussian.png" width="600" height="300"/>
減少噪聲對比:
<img src="/visual_images/reduce_noise_comp.png" width="700" height="400"/>
中值濾波
用中值代替家淤。
有個有趣的應(yīng)用就是找背景:
<img src="/visual_images/median_filter.png" width="700" height="400"/>
相比于模版平均瑟由,時空平均歹苦,中值能完全得到背景。
mode filter
用最頻繁的像素值;
當(dāng)每個值只有一個時潮模,使用截斷中值去逼近mode
truncated median filter:
<img src="/visual_images/truncated_median.png" width="600" height="400"/>
結(jié)果:
<img src="/visual_images/truncated_results.png" width="700" height="400"/>
方法對比
- 平均算子
減少很多噪聲但是圖片更模糊了 - 高斯平均
相比于平均算子保留了跟多細節(jié)痴施,但是優(yōu)勢不明顯 - 中值
保留了一些噪聲但是有清晰的邊界 - 截斷中值
減少噪聲,保留了很多細節(jié)
<img src="/visual_images/reduce_comparision.png" width="700" height="400"/>
二值形態(tài)變化操作
對二值圖像進行膨脹(放大)芬探,腐蝕(縮小)操作厘惦。
erosion
腐蝕操作:掃描圖像的每一個像素宵蕉,用結(jié)構(gòu)元素(可自定義的,水平線豎線等等)與其覆蓋的二值圖像做“與”操作:如果都為1羡玛,結(jié)果圖像的該像素為1稼稿,否則為0。
<img src="/visual_images/erosion.png" width="600" height="250"/>
dilation
膨脹操作:掃描圖像的每一個像素敞恋,用結(jié)構(gòu)元素與其覆蓋的二值圖像做“與”操作:如果都為0谋右,結(jié)果圖像的該像素為0倚评,否則為1。
<img src="/visual_images/dilation.png" width="600" height="250"/>
opening operator
在腐蝕后加膨脹操作
closing operator
在膨脹后加腐蝕操作
<img src="/visual_images/opening_closing.png" width="700" height="200"/>
作用
- 膨脹: 最直接的就是對物體形狀的擴展盔性,且能連接相近物體冕香,填充物體內(nèi)空白
- 腐蝕:縮小形狀后豫,看起來細些悉尾,做多次后會得到形狀線條,比如指紋挫酿,提取形態(tài)骨架构眯;分離鄰近物體;去除小噪聲早龟,小點惫霸。
- 開運算:分離鄰近物體和平滑邊界
- 閉運算:填充物體內(nèi)細小空洞猫缭,連接鄰近物體和平滑邊界
關(guān)于操作的代碼可以參考文章Matlab DIP(瓦)ch9形態(tài)學(xué)圖像處理