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得值不能設太大
這是跑出來的圖
沒有留言:
張貼留言