「博文連載」「VGA+USB」灰度圖像的均值濾波算法實現

圖像處理算法可以在RGB域處理,也可以在灰度域處理,牛逼的還可以在Bayer處理。但是大部分目標識別、跟蹤、檢測等圖像處理算法,都是灰度域處理的,因為灰度除了沒有色度,以及包含了基本圖像處理所需的信息,包括紋理/目標/姿態等。

因此從本節開始,我們將基於灰度域進行基本的FPGA圖像處理算法的實現。前面一節我們已經得到了灰度視頻(灰度相機直接就可以得到灰度視頻,不需要前一節),現在我們可以大刀闊斧,全面開始HDL-VIP算法的研究與實現了!!!

本章截殺的中值濾波算法,輸入的視頻源為Gray數據流,最終工程實現的VIP的RTL block如下所示:

「博文连载」「VGA+USB」灰度图像的均值滤波算法实现

備註:灰度相機(MT9V034 AR0144等)不需要RAW8_RGB888以及RGB888_YCbCr444模塊,直接從中值濾波後開始。

圖像濾波算法的介紹

降噪顧名思義是削弱不該有的噪聲,嚴格意義上做不到去噪,只能一定程度的削弱噪聲的存在。我們的傳感器在工作工程中,必然會有電源噪聲、隨機噪聲、固定噪聲等干擾。那麼如果有效的去除圖像中的噪聲,同時又能較好的保持圖像的邊緣,就是降噪的精髓。

「博文连载」「VGA+USB」灰度图像的均值滤波算法实现

典型的圖像濾波算法,入門級別的有均值濾波、中值濾波、高斯濾波等,也有NB一點的非局部均勻、雙邊濾波、2D降噪、3D降噪、BM3D等。安防監控IPC芯片,最後拼的就是一個重要的指標就是圖像的降噪:如何能用較低成本的Sensor,通過降噪及其他圖像增強算法,得到畫質優秀的視頻。如果你有更牛逼的算法,可以試試下圖,挑戰一下極限:

「博文连载」「VGA+USB」灰度图像的均值滤波算法实现

濾波的原理就是求平均,可以是對幀內周邊像素求平均(空域降噪),也可以是幀間的像素求平均(時域降噪),前者能夠較好的保持圖像的運動拖影但是對紋理的保持不夠擅長,而後者能夠較好的去除在時間上波動的噪聲,但是由於前後幀之間的時間差,會引入拖影(也有叫法說是鬼一個)。狠一點的3D降噪可以採用數幀圖像去做降噪,可以在極低的照度下得到較好的圖像,但是也伴隨著巨大的拖影。

當然,除了採用算法去除圖像中的噪聲,也可以拼了命的優化電源的噪聲,如果你還沒有達到極致的話;採用更好的,更先進的,靶面更大的Sensor,或者更好的鏡頭,可以直觀的提升噪聲特性,只不過付出的成本較高。


分享到:


相關文章: