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