2010年11月6日 星期六

HW1

在上上禮拜的課程結束後
原本以為這個作業應該蠻容易的
沒想到還是卡住了
會以為很容易是因為
剛好這學期也有修一門課  >> "視訊通訊"
有介紹到影像的色階轉換
然後就以為只要簡單的用if else就可以搞定
這是我初步的想法
直接更改pixel的內容

前幾天在做作業的時候才發現沒這麼容易
然後就換個想法...
如果我改變調色盤的數值...應該也可以達到效果!
先試試看黑白兩色
可是失敗了
因為我把調色盤的裡面改成這樣 :

        PaletteEntry.peRed = i/128;
        PaletteEntry.peGreen = i/128;
        PaletteEntry.peBlue = i/128;

我想我一定是作業做太久瘋掉了
這樣子就只會有兩種數值在調色盤裡
0跟1......
真的要改也是這樣子改吧 :

if(i<128){
        PaletteEntry.peRed = 0;
        PaletteEntry.peGreen = 0;
        PaletteEntry.peBlue = 0;
        }else{
        PaletteEntry.peRed = 255;
        PaletteEntry.peGreen = 255;
        PaletteEntry.peBlue = 255;
}

不過這是我今天才想到的...
那時的我只好繼續在像素裡面if else
直到這禮拜五上課前都還在研究
老師上課的時候兩種方法(改調色盤 跟 改像素數值)都有介紹
然後我才想到
如果一直用if else來直接改像素值
黑白兩色還好
128色就麻煩了
所以後來我就參考調色盤的用法完成了

-----------------------------------------------------------------------------------------------
這是原圖,想說用鮮艷一點的應該會比較明顯














程式執行的樣子











-----------------------------------------------------------------------------------------------
256色灰階












▼128色灰階












▼64色灰階












▼32色灰階(開始有些許變化)












▼16色灰階(開始有顯著變化)












▼8色灰階(相當明顯)














▼4色灰階(恩....)














▼2色(黑白)










-----------------------------------------------------------------------------------------------
參考 : 彩色轉灰階

沒有留言:

張貼留言