參考運用的公式為 S = C (r ^ gamma)
一開始打程式碼的時候
因為忽略掉了 C 值的常數部份
採用常數預設 "1"
所以一開始所產生的結果有點糟糕
變成 RGB 都會產生超過 255 的結果
所以後來看到學長所提的必須將色素限制在 255 以內
雖然當初老師有提到這部分的問題
可是不太理解要怎樣限制住
回去看自己撰寫程式碼的部分
發現雖然有將限制條件加入
但是放置的位置錯誤
導致重複加乘所以結果錯誤
多次嘗試後結果是正確了
但是卻又發生執行第一次後
如果再次執行會產生圖片不斷的加深或加淡
因為在設定的程式碼部份我是將執行的公式直接放在畫布產生的地方
所以讓預設的 PIXEL 不斷的被覆蓋過去
之後在設定一組新的陣列讓設定過的 PIXEL 放入新的空間中後再放入畫布
結果就成功了!
GAMMA:5
GAMMA:0.5
產生後的結果雖然可以讓圖片更深或是更淺
但是相對的會發生圖片失真或是解析度下降的問題!
沒有留言:
張貼留言