基于FPGA的圖像去霧算法的實現(xiàn)
掃描二維碼
隨時隨地手機看文章
基于FPGA的圖像去霧算法的實現(xiàn)
本文在《基于暗通道先驗條件圖像去霧算法》的最后段matlab的圖像去霧算法的基礎(chǔ)上對matlab代碼進行轉(zhuǎn)化完成verilog的FPGA圖像去霧算法。
Matlab去霧算法的結(jié)果展示:
圖1 實驗結(jié)果1
圖2 實驗結(jié)果2
圖3 實驗結(jié)果3
1 FPGA實現(xiàn)先驗條件圖像去霧算法
如圖4所示,將整個圖像去霧算法分為三個模塊以流水線的方式完成FPGA的圖像去霧算法:
1,rgb_dark模塊完成每個像素點r,g,b中最小值的輸出暗通道圖像;
2,Transmittance模塊完成透射率圖像和全球大氣光強度的輸出;
3,Defog模塊完成最終的去霧圖像的輸出。
圖4 FPGA實現(xiàn)圖像去霧框圖
2 仿真
如圖5所示,仿真圖像由$fopen打開,由$fwrite寫出。
圖5 仿真模型
仿真過程中每幅圖像需要兩幀的圖像來處理,三張圖片用時6幀完成輸出。
圖6 仿真波形
3 實驗結(jié)果及分析
實驗原圖1
暗通道圖像
透射率圖像
去霧圖像
實驗原圖2
暗通道圖像
透射率圖像
去霧圖像
實驗原圖3
暗通道圖像
透射率圖像
去霧圖像
結(jié)果分析:ω(0<ω≤1)為0時圖像完全不去霧,為1時圖像完全去霧但是圖像會失真,視覺效果很差。從實驗結(jié)果來看,每幅圖像都有一些去霧效果,但是沒有達到人類視覺的最佳效果,這里我們可以再加入引導(dǎo)濾波等算法使圖像還原更逼真。