2013年11月14日 星期四

HW02


Levels是仿照photoshop裡的色階所寫出來的程式
所以最小值輸入越大顏色更黑,最大值輸入越小顏色更亮
而最小值輸出是越大顏色更亮,最大值輸出越小顏色更黑
不同的是輸入是會讓整個顏色變深(最小值越大)或曝光多寡(最大值越小),輸出則是整個顏色越來越白(最小值越大)或越來越黑(最大值越小)

原圖(沒有更動)















這是把最小值輸入調大一些,很明顯的看到整體顏色變的很深















這是把最大值輸入調小,會很明顯的感受到曝光過多















這是把最小值輸出調大一些,會看到整個顏色都比較白















這是把最大值輸出調小一些,會看到整個顏色都變暗了
>















以上就是把輸入或輸出的值調大或調小所得出來的不同結果


而這是按照老師的範例很順利寫出來的程式,也加了註解上去。雖然有四塊程式,但因為只有第一行比較有所不同,所以只貼了這張















而這是我的執行鈕的程式,一開始把iImageHeight.iImageWidth.i.j.k設在裡面,所以程式跑不動,之後放在全域才能成功執行



















接下來也是仿照photoshop裡的曲線所寫出來的Cruve
它也可以做到跟色階一樣的功能,不同的是它是用曲線來表達



原圖(沒有更動)















下圖所呈現的曲線會讓圖曝光,也等同於levels輸入值的最大值調小















而這圖所呈現的曲線代表會讓圖變白,也等同於levels輸出值得最小值調大















這圖所呈現的曲線是讓圖的色澤更深,也等同於levels輸入值的最小值調大















而這張圖所呈現的曲線是讓圖整個變暗,也等同於levels輸出值的最大值調小















因此Cruve也可以辦到levels所呈現的圖,只是一個用數字選擇,一個用曲線選擇,但之後所呈現的曲線相似的話,所影響的黑白亮暗其實是一樣的


因為老師有給範例,所以大致上程式沒問題,除了像上面所說的要放在全域而我放錯地方才會出問題。反而弄最久的是一開始沒背景顏色,曲線就像飄在上面一樣,看不到X.Y軸,然後Pagecontrol又沒辦法選背景顏色,於是查了一下發現可以用Panel放在後面然後改顏色


接下來是histogram部分,主要是用陣列去儲存三個顏色的值,然後再個別掃描就好,只不過一開始的圖長的很怪,都一樣胖,之後才發現是fHistogramScalar得值不能設太大

這是跑出來的圖



































沒有留言:

張貼留言