2011年1月7日 星期五

HW4





原圖
模糊化
模糊化的原理比較容易理解,主要是將九個格子的色彩質相加之後做平均以達到模糊的效果下面是程式寫法,藍色的寫法,其他顏色如法炮製,主要是參考老師範例程式和同學討論出來。
bPtrImageRowN[j*3] = (byte)((bPtrImageRow[j*3-1*3]+bPtrImageRow[j*3]+bPtrImageRow[j*3+1*3]
+ bPtrImageRow1[j*3-1*3]+bPtrImageRow1[j*3]+bPtrImageRow1[j*3+1*3]
+ bPtrImageRow2[j*3-1*3]+bPtrImageRow2[j*3]+bPtrImageRow2[j*3+1*3])/9 + 0.5)
銳利化
銳利化的原理是,根據我們的設定找出影像中的邊緣像素, 然後加強邊緣與相鄰像素的對比, 藉此提高影像的清晰度,在這邊程式採用的是-1-1-1
-1 9-1
-1-1-1。
下面是程式寫法 gray0= (bPtrImageRow[j*3-1*3]*(-1)+bPtrImageRow[j*3]*(-1)+bPtrImageRow[j*3+1*3]*(-1) + bPtrImageRow1[j*3-1*3]*(-1)+bPtrImageRow1[j*3]*(9)+bPtrImageRow1[j*3+1*3]*(-1) + bPtrImageRow2[j*3-1*3]*(-1)+bPtrImageRow2[j*3]*(-1)+bPtrImageRow2[j*3+1*3]*(-1)); if(gray0<0) gray0="0;">255) gray0=255;
銳利化出來的北極熊感覺變好髒,毛都結塊了。


去胡椒鹽後的圖
去胡椒鹽的原理是將所選的點跟周圍的色彩值取中位數再將這九格的值都改成中位數的值,在程式撰寫上要找到中位數要先經過排序,灰階的圖來做比較容易,由於RGB的色彩值都一樣所以直接排序取中位數就好,但彩圖原本不清楚該以什麼為基準作排序,原本想說把三個色彩值作相加,然後再去做比較,但是似乎怪怪的,後來到問老師得知,其值可以用彩圖轉灰階的方法,用轉成灰階的數值在去做排序然後取中位數,這麼一來就解決了不知道該怎麼用彩圖去做排序的窘境。

沒有留言:

張貼留言