而作業要做的是胡椒鹽雜訊以及中值濾波器。
(因為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%的胡椒鹽雜訊的圖片了。
中值濾波器與前面的平滑與銳化濾波器不同的是,中值濾波器需要排序。
排序之後再將中位數的值取出來來當作色彩值。
所以才有辦法將胡椒鹽雜訊給清除掉,但是當胡椒鹽雜訊的程度過高時,能夠濾掉的雜訊就有限。
沒有留言:
張貼留言