空間濾波-低通濾波器(Low-Pass Filter) | 學習堅持 - - 點部落

文章推薦指數: 80 %
投票人數:10人

低通濾波器在空間域中相當於做平滑濾波,. 可以想像成將鄰近的像素點的梯度降低,. 所以影像上低通濾波具有影像模糊的效果, ... 低通濾波器 可以拿來消除影像上的雜訊 低通濾波器 可以拿來消除影像上的雜訊     低通濾波器故名思義, 就是讓低頻的部份通過, 衰減高頻的部份, 通常是用在頻率域上, 那用在影像(空間域)上是怎麼一回事呢? 讓我們先看看下面的剖面圖   頻率濾波器剖面圖   低通 高通   相對應的空間域濾波器   低通 高通   從上面的剖面圖我們可以看出來, 低通濾波器在空間域中相當於做平滑濾波, 可以想像成將鄰近的像素點的梯度降低, 所以影像上低通濾波具有影像模糊的效果, 原圖 低通 低通(10次)   實作上我們常用遮罩來實作 最常使用的為3*3遮罩 m0 m1 m2 m3 m4 m5 m6 m7 m8 遮罩係數如下 1/9 x 1 1 1 1 1 1 1 1 1   實作程式碼如下   IplImage*image1; IplImage*image2; for(intx=1;xwidth-1;x++) { for(inty=1;yheight-1;y++) { intvalue=0; /*取得遮罩資訊*/ intm[9]; m[0]=(unsignedchar)image1->imageData[(y-1)*image1->widthStep+(x-1)]; m[1]=(unsignedchar)image1->imageData[(y-1)*image1->widthStep+(x+0)]; m[2]=(unsignedchar)image1->imageData[(y-1)*image1->widthStep+(x+1)]; m[3]=(unsignedchar)image1->imageData[(y+0)*image1->widthStep+(x-1)]; m[4]=(unsignedchar)image1->imageData[(y+0)*image1->widthStep+(x+0)]; m[5]=(unsignedchar)image1->imageData[(y+0)*image1->widthStep+(x+1)]; m[6]=(unsignedchar)image1->imageData[(y+1)*image1->widthStep+(x-1)]; m[7]=(unsignedchar)image1->imageData[(y+1)*image1->widthStep+(x+0)]; m[8]=(unsignedchar)image1->imageData[(y+1)*image1->widthStep+(x+1)]; for(inti=0;i<9;i++) { value+=m[i]; } value/=9; image2->imageData[y*image1->widthStep+x]=value; } } 當然也可以換成5*5或是其它大小的遮罩, 只是相對的係數需要調整成*1/25或其它係數。

  新手發文如有錯誤,煩請指正! 影像處理入門 回首頁



請為這篇文章評分?