2015年1月18日 星期日

01361030藍政歆HW4

程式碼:點我

 (圖引id:47998307)


這次作業做的是濾波器,此作業有中值濾波器、平滑濾波器及銳化濾波器,圖.1是程式介面,已經把圖給叫進來了,此程式有個還原影像,可將影像還原成原本的樣子

然後先灑胡椒鹽(圖.2)之後進行中值濾波器(圖.3)
中值濾波器是找自己跟自己相鄰的8個點中排行第5的點,再讓他的值成為自己點的值,用此方法來去除雜訊。所以要先讓這9個點排序(泡泡排序即可),之後就容易找出大小第5的點,沒辦法完全去除是因為有時候雜訊剛好是排行第5,所以會讓自己的值變成雜訊的值。

之後是弱化平滑濾波器(圖.4)及強化平滑濾波器(圖.5)
平滑濾波器我還不太懂可以用在哪裡,不過做出來有讓圖平滑了一些。
弱化濾波器是將自己跟自己相鄰的8個點相加後除以9,再成為自己的值,大致上長得像下面的樣子
1 + 1 + 1   
(  1 + 1 + 1  )/9
1 + 1 + 1  
所以做出來會比較平滑一些

強化濾波器雖然也是相加在除,不過比重有差,自己的上下左右4個點要乘以2,自己則乘以4,相加後最後再除以16(1+2+1+2+4+2+1+2+1=16),再成為自己的值,大致上長得像下面的樣子
*1 + *2 + *1    
(  *2 + *4 + *2  )/9
*1 + *2 + *1   
  因為自己的比重最大,比較能保留住自己的值,所以感覺上變化沒有弱化來的明顯


最後是弱化銳化濾波器(圖.6)及強化銳化濾波器(圖.7)
 銳化濾波器把自己的特色強化,感覺上適合拿來找特徵點。
弱化濾波器是將自己點的值乘以五減掉上下左右四點的值,所以沒有用到角落的四個點,大致上長得像下面的樣子
+0  -1  +0
-1  +5  -1
+0  -1  +0
讓自己的特徵明顯

強化濾波器就用到了角落的4個點,將自己的值乘以9減掉自己相鄰的8個點,大致上長得像下面的樣子
-1  -1  -1
-1  +9  -1
-1  -1  -1
自己的特色更明顯了

 本次作業也比之前難一些,雖然濾波器的部分知道後就可以寫出來,但
bPtrImageRow=(Byte*)Image1->Picture->Bitmap->ScanLine[i];(這個是Image1)
        bPtrNewImageRow=(Byte*)Image2->Picture->Bitmap->ScanLine[i];
bPtrImageRow=(Byte*)Image2->Picture->Bitmap->ScanLine[i];(這個是Image2)
        bPtrNewImageRow=(Byte*)Image2->Picture->Bitmap->ScanLine[i];
哪個濾波器要用哪個必須清楚,這次卡最久的部分是銳化濾波器用到下面那一個,導致出來的圖非常奇怪,找了好久終於找到原來要用上面那一個,除此之外沒大問題,本次作業可以對濾波器有些認識,是個不錯的練習

沒有留言:

張貼留言