經過銳利化後,熊毛較為細膩(分明)
黑白版去雜訊化
彩色版去雜訊化
黑白版去雜訊化
彩色版去雜訊化
這次的作業,可能是因為是連貫的,所以感覺上較上一個作業簡單,重點就只在如何把圖片上每個點的RGB取出而已,雖然如此,還是寫得挺久的,因為一開始,忘記它是做彩色要乘3,只單純的用bPtrOriginalImage0[(j-1)],之後就在想說要怎麼取色值,然後想到利用之前GetRValue的指令,在那邊測試用法,想說要直接用pixel取二十七個出來,還是就直接把色值累加在除掉,結果似乎是後者有比較快而且個人覺得後者長度較短且可讀性較佳,平滑化大致上的問題就這些。而銳利化則是在一開始誤解老師的原圖加權重的意思,誤寫成bPtrOriginalImage0[(j-1)*3]*(1+n1),結果變成只顯示出影像中深色值的部分,其餘皆為白色,後來經老師指導後,把*1去掉,只乘n1(權重)即可正常銳利化,而權重方面,則是利用Edit去讀User設定的權重。至於中位數濾鏡處理算是最簡單,只要用陣列儲存色值後,再經由副程式排序,之後把中間的數值assign回給ResultImage即可,而之所以寫滿三節課還尚未完成的原因,是因為又遇到了scanline超出範圍的問題,一開始以為跟之前的問題一樣,是影像物件設定的問題,但是測試很久、還跟人比對,始終沒發現錯誤,最後終於在人品爆發的情況下,看到自己設定的陣列define MAX的大小比使用得少一,才結束這個烏龍。
沒有留言:
張貼留言