前面實(shí)現(xiàn)了基于FPGA的彩色圖像轉(zhuǎn)灰度處理,減小了圖像的體積,但是其中還是存在許多噪聲,會(huì)影響圖像的邊緣檢測(cè),所以這一篇就要消除這些噪聲,基于灰度圖像進(jìn)行圖像的濾波處理,為圖像的邊緣檢測(cè)做好夯實(shí)基礎(chǔ)。
椒鹽噪聲(salt & pepper noise)是數(shù)字圖像的一個(gè)常見(jiàn)噪聲,所謂椒鹽,椒就是黑,鹽就是白,椒鹽噪聲就是在圖像上隨機(jī)出現(xiàn)黑色白色的像素。椒鹽噪聲是一種因?yàn)樾盘?hào)脈沖強(qiáng)度引起的噪聲,產(chǎn)生該噪聲的算法也比較簡(jiǎn)單。
均值濾波的方法將數(shù)據(jù)存儲(chǔ)成3x3的矩陣,然后求這個(gè)矩陣。在圖像上對(duì)目標(biāo)像素給一個(gè)模板,該模板包括了其周圍的臨近像素(以目標(biāo)象素為中心的周圍 8 個(gè)像素,構(gòu)成一個(gè)濾波模板,即去掉目標(biāo)像素本身),再用模板中的全體像素的平均值來(lái)代替原來(lái)像素值。
如圖所示,我們要進(jìn)行均值濾波首先要生成一個(gè)3x3矩陣。算法運(yùn)算窗口一般采用奇數(shù)點(diǎn)的鄰域來(lái)計(jì)算中值,最常用的窗口有3X3和5X5模型。下面介紹3X3窗口的Verilog實(shí)現(xiàn)方法。
?。?)通過(guò)2個(gè)或者3個(gè)RAM的存儲(chǔ)來(lái)實(shí)現(xiàn)3X3像素窗口;
?。?)通過(guò)2個(gè)或者3個(gè)FIFO的存儲(chǔ)來(lái)實(shí)現(xiàn)3X3像素窗口;
?。?)通過(guò)2行或者3行Shift_RAM的存儲(chǔ)來(lái)實(shí)現(xiàn)3X3像素窗口;
要想用實(shí)現(xiàn)均值濾波和中值濾波,必須要先生成3x3陣列,在Altera系列里,可以用QuatusII調(diào)用IP核——shift_RAM,具體設(shè)置參數(shù)如圖所示。