2017年1月7日 星期六

03836096 王秀婷 HW-3

HomeWord-3   Levels and Cruve

《作業心得:》

第三個作業卻是最後一個完成的作業,真的覺得天下無難事呀!這個作業我試著再多使用一些元件來使我的操作介面更完整一些,例如TBevel、TLabeledEdit 以及 TLabel 等等,整個畫面更令自己滿意了。
雖然這個程式花了我不少時間,卻不是寫不出來,而是有點暈頭轉向了,明明沒有錯的程式卻一直鬼打牆般的想不透,不過也因此把這個演算法看的更為透徹呢!這學期接觸了C++語言,發現這個開發程式其實挺好玩的,以物件導向的概念來開發程式,不知未來會不會再用到它,不過多學會了一種程式語言也是很大的收獲。


《程式執行的情況及實驗中遇到的問題及處理方法》

完成這個程式花了最久的時間,一直卡在 Levels 出來的結果,一直 debug 但卻找不到原因,一再的 check 公式、演算法,皆與老師的講義相同,但輸入PPT講義中的值:
輸入色階調整成 45-225
輸出色階調整成 30-150
卻不是講義上那種變暗的效果.....而是變成下圖的狀況。


一度以為自己程式運算有問題,但怎麼看都看不出錯在那裡,所以自己卡在程式的演算法中找不出問題。於是想到了使用PPT中提到的反白(inverse)處理來驗證一下,程式是否可以成功做出反白處理的影像式來。如下圖:


結果非常的成功呢!證明我的程式應該是沒有錯的,可能是所輸入的值反差太大了,才會出現像底片一樣的結果,後來我修改了輸出色階的上下界值,才發現其實自己的程式並沒有錯呢!也成功的改變了影像的色階。


終於完成了 Levels,接下來要做的Curve就簡單多了,利用曲線來調整影像的亮度,這時就要用到 MouseDown 了,取所拖曳出來的點來做公式的推導,也成功將影亮度做調整,如下圖:







沒有留言:

張貼留言