2017年11月23日 星期四

04360455_張力仁_HW02

首先要知道一張圖片是由許多的Pixel所組成,而Pixel是由RGB所組成,以下範例圖片皆使用24位元深度,也就是224種不同的顏色來表達一張圖片,而RGB各用28來表示,也表示每個PixelRGB的值皆介於0~255之間,RGB(0,0,0)代表黑色,RGB(255,255,255)代表白色。

為了讓大家更了解圖片的構成首先介紹如何將一個圖片反向,所謂的反向也就是說原本白色的部分會變成黑色,較亮的顏色會變成較暗的顏色,我們已經知道RGB是一個介於0~255的值,所謂的反向原理很簡單,就是將原本的值與255相減即可,例如原本RGB(120, 55, 200)的顏色會變成RGB(255-120, 255-55, 255-200) = RGB(135,200,55)

原圖                                       反向後的圖

可以明顯看出來原本較暗的樹木變得非常白,而原本白色的瀑布變成黑色的。

        接著我們在介紹一下何謂灰階圖片,所謂的灰階圖片的顏色是由不同深淺的灰色組成,也就代表RGB的值皆相同,例如RGB(120, 120, 120),知道這個概念後大家應該可以猜到要將一個圖片轉成灰階最簡單的方式就是將原本RGB的值相加後平均並當成新的RGB值,例如RGB(50,100,30)因為平均為(50+100+30)/3=60會變成RGB(60, 60, 60)

原圖                                    灰階後的圖

       
稍微知道Pixel後我們來介紹何謂直方圖,所謂的直方圖就是統計中的PDF,講的簡單點就是各別統計RGB的值所出現的次數,這對我們來說並不算難,以下為範例的RGB直方圖。




而所謂的累積直方圖就是統計中的CDF,簡單來講就是每個值的次數為小於等於該值的次數總和,既然已經有各別的統計資料了,我相信這對我們也不是難事,以下為範例的累積直方圖。




        為什麼要介紹PDFCDF?其實是因為我們要講直方圖均化,所以必須要先了解CDF是什麼,所謂的直方圖均化是針對圖片的對比度進行調整,例如原本整張圖片的顏色都偏暗導致看不清楚,利用直方圖均化後可以讓你的圖片看起來更清楚,而直方圖均化的方法是將原本值轉變成的該值的CDF*255,例如原本R=32R_CDF[32] = 52%,則顏色調整為R = 255*52% = 133,記得上面的CDF是次數,這裡要將CDF轉成百分比進行調整,以下為均化前後的差別。


可以很明顯感覺得出來均化後的圖片變得相當清晰,直方圖均化的方法不算太難,因此如果有想自己寫程式自己修圖的朋友這個方法滿推薦剛入門的你嘗試。


沒有留言:

張貼留言