2011年11月24日 星期四

平滑化+銳化+中值濾波

使用者介面的排版設計



初步的讀取圖片



平滑化



準備在圖片上產生胡椒鹽效果
並且在尚未產生胡椒鹽效果前
限制使用中值濾波的功能



產生胡椒鹽



中值濾波



銳化



額外做的灰階功能



心得:

這次的作業 在平滑化的部分 算是比較簡單
尤其是在聽完老師講完演算法以後
中值濾波也是如此
比較麻煩的部分是銳化的部分

平滑化的部分
就是將像素點以及其周圍的像素點做平均
再取代原來的像素值
簡單來講就像是圖片色彩散開的感覺
讓圖片變得比較模糊

而中值濾波的部分
只是將像素點以及其周圍的像素點做個簡單的排序
再取中間值取代原像素點
以去掉太高或者太低的的雜訊像素值 0或255

最後麻煩的部分就是銳化
但事實上麻煩的並非演算法
而是因為銳化的部分
在程式的執行上
無法像平滑化一樣
直接使用Byte的型態做運算
必須先將像素點的值轉為int型態
運算完以後再丟回給Byte
這部分因此讓我卡關很久
但是原因還是不明

最後在完成時
因為都是使用老師的範例圖片做執行
我嘗試使用其他較小或較大的圖片來做執行
發現小一點的圖片還是會有ScanLine out of range的error
原因是直接使用Image->Height & Image->Width
這樣使用的是Image元件本身的高跟寬
而非圖片本身的高跟寬
所以會才會out of range
所以要使用圖片本身的高跟寬
必須使用Image->Picture->Bitmap->Height & Image->Picture->Bitmap->Width

沒有留言:

張貼留言