Download presentation
Presentation is loading. Please wait.
1
Student: 孫于婷 Student ID: 498410095
照片處理器 Student: 孫于婷 Student ID:
2
Outline Motivation Introduction Method Limit Demo
Histogram Equalization Spatial Filtering Image Enhancement Edge Detection Limit Demo Reference and Appendix
3
Motivation 我們可以藉由一些技巧對照片做處理,使一些狀況 不好的照片(過亮、過暗、雜訊等等),經過處理後 能呈現比較好的結果。
因此我就想結合多個影像處理的技術,做一個照片 處理器。
4
Introduction 作業環境與相關工具:Visual Studio 2012 在我的照片處理器中實作了以下幾種功能:
Histogram Equalization (Global / Local) Spatial Filtering (Averaging filter / Median filter) Image Enhancement (histogram equalization / HSI) Edge Detection ( Sobel operators / LoG filter)
5
介面
6
Method Histogram Equalization Spatial Filtering Image Enhancement
-增加照片顏色對比 Spatial Filtering -過濾照片雜訊 Image Enhancement -增強彩色照片對比 Edge Detection -照片物體邊緣偵測
7
Histogram Equalization
Step1: 先算出圖片各像素出現個數 Step2: 個別將像素除以(圖的長*寬),取得個別機率 Step3: 再算出新的機率值=目前項之前的累加機率 Step4: 再將每個值都乘以255,得到一個新的值 Step5: 最後把值存回去,就完成Histogram Equalization了。 Global與Local的差別: Global是對一整張圖做Histogram Equalization。 Local 是先把圖切成16等分,再對每等分做Histogram Equalization。
8
Histogram Equalization 成果
原圖 Global Local
9
Spatial Filtering 利用3x3的mask對圖片做處理,達到除去雜訊的目 的。
方法: Averaging filter和Median filter Averaging filter 針對圖片中每個像素的灰階值和圍繞在 它周圍的像素(8個點),求平均值做為新值。 Median filter 針對圖片中每個像素的灰階值和圍繞在它 周圍的像素(8個點),取中間值做為新值。 Averaging filter: Z5=(Z1+Z2+Z3+…+Z8+Z9)/9 Median filter: Z5=Z1~Z9排序後取中間值
10
Spatial Filtering 成果 原圖 Averaging filter Median filter
11
Image Enhancement Color image enhancement: 分別對R,G,B做Histogram Equalization 。 HSI: 影像從原本的RGB space轉成HSI space,在HIS space上, 分別對Saturation以及Intensity做Histogram equalization,之 後再轉回原本的RGB space。
12
HSI Step1: 將原圖的RGB值域轉成HSI
Step2: θ= cos-1{ ( 0.5*[(R-G)+(R-B)] ) / ( [(R-G)*(R-G)+(R-B)*(G- B)]0.5 ) } Step3: H: HSI[x, y, 0] = (B > G) ? (360 - angle) : angle; S: min = Math.Min(Math.Min(R, G), B); HSI[x, y, 1] = 1 - (3 * min)/(R + G + B); I: HSI[x, y, 2]=(R+G+B)/3 Step4: 對I做Histogram Equalization,並且不能更動到H Step5: 再將HSI值域轉回RGB值域
13
Image Enhancement 成果 原圖 Histogram HSI
14
Edge Detection Sobel operators / LoG filter Sobel operators :
利用3x3 map,分別做四個方向(0、45、90、135) G0 = (Z7 + 2Z8 + Z9) - (Z1 + 2Z2 + Z3) G45 = (Z2 + 2Z3 + Z6) - (Z4 + 2Z7 + Z8) G90 = (Z3 + 2Z6 + Z9) - (Z1 + 2Z4 + Z7) G135 = (Z6 + 2Z9 + Z8) - (Z2 + 2Z1 + Z4) ▽f = |G0| + |G45| + |G90| + |G135| <=將做完的四個方向取絕 對值相加
15
Edge Detection LoG filter 並加上threadshold 利用5x5 map執行LoG
▽2f = 16Z13 – 2(Z8 + Z12 + Z14 + Z18) – (Z3 + Z7 + Z9 + Z11 + Z15 + Z17 + Z19 + Z23) 並加上threadshold 將影像分割成各個特殊屬性的區域,可用於判定影像的邊緣點 灰階值為+者(> 0)調為255 <=白色 灰階值為-者(< 0)調為0 <=黑色
16
Edge Detection 成果 原圖 Sobel operators
17
Edge Detection 成果 原圖 LoG threadshold LoG
18
Discussion Histogram Equalization Spatial Filtering
將原本集中在某區塊的機率函數平均分布在所有顏色上,可以增加圖 片的對比,讓圖片更清晰。我覺得Global approach的視覺效果比 Local approach好,Local approach對每個小區塊分別做處理,會造 成結果圖呈現一格一格的感覺,而Global approach是對一整張圖處理, 所以顏色會比較均勻也比較好看。 Spatial Filtering 在處理Random noise圖檔時,Averaging filter和Median filter沒有顯著的差異,而且產生的圖片都會變得比較模糊,而 在處理pepper and salt noise時,覺得Median filter的效 果 好很多,不會有黑斑殘留。因為Averaging filter會把雜訊也考 慮進去,而Median filter會避開它,所以Median filter的效果 會比較好。
19
Discussion Image Enhancement Edge Detection
兩張彩色的原圖,做完Histogram後的結果很像,而做完HSI後, 第一張原圖做完後有變鮮豔,第二張原圖做完則比原圖清楚。 *HSI要注意度數和弧度的轉換(度數 = 弧度 * 180o / π) 另外就是最後像素值要介於0~255,但在做轉換時,若超過 255,我就把它等於255,若小於0,則讓它等於0。 Edge Detection 在Sobel operators的部分我做了把四個方向(0、45、90、135) 加起來。 由實驗結果發現,Log對處理雜訊比較敏銳,能比較明顯的找 出許多邊線,而加了threshold處理的LoG更加明顯,而相較之 下Sobel operators對雜訊較不敏感。
20
Limit 對照片的處理效果有的是會累加的,所以要使用不 同處理效果時,重新load圖片進去會比較好。
21
Demo Youtube link: demo影片
22
Reference and Appendix
Histogram Equalization %E7%9B%B4%E6%96%B9%E5%9C%96%E5%9D%87%E5%8C%96(histogram-equalization) 彩色影像處理中文版slide %20in%201).pdf RGB to HSI
23
Thank you ~
Similar presentations