2017年1月15日 星期日

02360831_陳文逸_作業5(補交)

這次的作業是濾波器,在課堂上交我們寫的是平滑濾波器以及銳化濾波器。
而作業要做的是胡椒鹽雜訊以及中值濾波器。

(因為RAD Studio 10.1 Berlin到期了所以沒有辦法截程式的圖片)

濾波器就像是一個遮罩,處理選取範圍內的影像,平滑濾波器就是將影像的像素之間處理得更接近,讓影像變得滑順一些。
而銳化濾波器就是相反,是讓影像的細節變得較為清楚。

在寫胡椒鹽雜訊的程式之前我一直不知道該怎麼寫,所以最後作業沒有完成。
於是今天上網查了一下,大概有了一點的概念了,我覺得程式碼應該會是這樣子:

int SaltandPepper = (int) iImageWidth * 0.05;//5%的雜訊
for (j = 0;j < iImageHeight; j++)
{
bPtrImageRow = (Byte *)Image1 -> Picture -> Bitmap ->ScanLine[j] ;
for (i = 0; i < SaltandPepper; i++)
{
                  int Random = rand() % iImageWidth;

                  bPtrlImageRow[Random * 3 ] = 255;
         bPtrlImageRow[Random * 3 + 1] = 255;
         bPtrlImageRow[Random * 3 + 2] = 255;
                 }
}
我想這樣應該可以製作出5%的胡椒鹽雜訊的圖片了。

中值濾波器與前面的平滑與銳化濾波器不同的是,中值濾波器需要排序。
排序之後再將中位數的值取出來來當作色彩值。
所以才有辦法將胡椒鹽雜訊給清除掉,但是當胡椒鹽雜訊的程度過高時,能夠濾掉的雜訊就有限。

沒有留言:

張貼留言