首先是成果圖↓ 有Gamma值為2跟0.5圖
補上對於這次作業所做的小資料,算是對於影像顯示的介紹
人眼對灰度變化的感覺比對色調變化的感覺來得敏銳
人眼對低亮度變化的感覺比對高亮度變化的感覺來得敏銳
而上述的第二項就是Gamma的緣由,也就是在較暗的影像時選擇較高的Gamma值,以犧牲亮部層次來換取更多的暗部表現
相對地,一些明亮的影像中就選擇較低的Gamma值以犧牲部分的暗部層次,來使得亮部層次更為明顯
由於之前的作業已經使用過抓像素點(其實是很久了…
Gamma整個運算部分 s = c * r^γ
這個部分在我剛開始了解Gamma的時候,就在想如何解決掉數值改變的問題…
後來我自己想到了一個錯誤的方法,是在跟朋友討論的時候用的
在開始寫程式前,我自己帶值來運算就發現出來的值還是有問題。
數學問題…數學太糟,不過已經解決了!
基本上會抓點改值再放回去就可以完成這個作業了(底子真的很重要阿…
由於整個程式我有一直做合併,所以很快就把Gamma校正完成,比HW3簡單很多。
最後是關於程式的部分
這個作業沒有什麼大問題,導致說不知道該如何報告這個作業?
簡單的介紹我對於這個作業如何去完成它
主要是分為三個部分:開啟圖檔、及抓取每一點、運算
開啟圖檔及動態宣告一個BCB所定義的Bmp來做運算其實算是基本
Graphics::TBitmap* BMP=new Graphics::TBitmap();
再來其實是運算優先,也就是把要如何運作及數值做調整後
最後將每一點抓取出來做運算後畫上去…
其實也就是在做影像處理時會進行的操作