求一种FPGA实现图像去雾的实现设计方案

时间:2025-11-03  作者:Diven  阅读:0

1、前言

本文详细描述了FPGA实现图像去雾的实现设计方案,采用暗通道先验算法实现,并利用verilog并行执行的特点对算法进行了加速;

求一种FPGA实现图像去雾的实现设计方案

本设计以HDMI或者ov5640摄像头作为输入,经过图像去雾算法去雾,再经过图像缓存后输出显示器,以验证图像去雾算法在FPGA中加速的正确性;

工程代码编译通过后上板调试验证,文章末尾有演示视频,可直接项目移植,适用于在校学生、研究生,也适用于在职工程师做项目开发,可应用于医疗、军工等行业的数字成像和图像传输领域;

提供完整的、跑通的工程源码和技术支持;

工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后。

2、目前我这里已有的图像处理方案

目前我这里已有的图像处理方案有很多,包括图像缩放、图像拼接、图像旋转、图像识别跟踪、图像去雾等等

3、暗通道先验算法介绍

4、本图像去雾模块的优缺点

优点1:纯verilog代码实现,无任何IP,可在xilinx、altera、国产FPGA等平台间自由移植;

优点2:算法加速,利用了FPGA并行计算的特点;

优点3:提供了2套工程源码,对接不同的视频输入接口;

缺点1:算法还不够完美,去雾效果也不完美,个人觉得;待我优化;

缺点2:用于验证、学习、课题等可以,做实际产品还不理想;

缺点3:对输入的图像要求稍微有点高,那种色差太过严重的去雾效果不好。

5、vivado工程详解

工程代码设计架构如下:输入:

提供2套工程源码,一套以HDMI作为视频输入源,另一套以ov5640摄像头视频输入源;HDMI输入分辨率为1920x1080@60Hz;ov5640摄像头输入分辨率为1280x720@30Hz;

HDMI接收和发送采用silICon9011和silICon9134芯片驱动,silicon9011和silicon9134芯片需要i2c配置才能使用

暗通道先验-图像去雾:

由3个模块顺序执行,3个模块内部并行执行,实现了FPGA加速算法的目的,分别由求RGB最小值和求折射率以及图像去雾组成;

求RGB最小值的目的是实时的比较求出每个像素点RGB分量的最小值,也就是暗通道,该模块顶层接口如下:求折射率的目的是输出暗通道最大值和折射率,该模块顶层接口如下:图像去雾的目的是输出暗通道最大值和折射率,该模块顶层接口如下:三个模块整合封装后的图像去雾模块接口如下:FDMA图像缓存:

串口解析:

串口解析模块的作用是用电脑发送命令控制图像去雾模块的输入阈值,这个阈值的初始值为十进制26,如果你在使用过程中觉得图像去雾效果不好,可以将这个阈值调大或者调小,我这里通过串口调试助手设置了多种阈值进行调整,如下:比如要发送阈值为26,则发送控制命令如下:

aa bb 00 00 00 1a 1a cc dd;

要发送阈值为251,则发送控制命令如下:

aa bb 00 00 00 fb fb cc dd;

vivado工程1详解

开发板FPGA:Xilinx xc7a35tfgg484-2

开发环境:vivado2019.1;

输入:HDMI-1920x1080@60Hz;

输出:HDMI-1920x1080@60Hz;

工程Block Design如下:工程代码架构如下:FPGA资源消耗和功耗预估如下:

vivado工程2详解

开发板FPGA:Xilinx xc7a35tfgg484-2

开发环境:vivado2019.1;

输入:ov5640摄像头-1280x720@30Hz;

输出:HDMI-1920x1080@60Hz;

工程Block Design如下:工程代码架构如下:FPGA资源消耗和功耗预估如下:

猜您喜欢

TAIYO YUDEN(太阳诱电),作为日本知名的电子元器件制造商,高质量的薄膜电阻产品在全球市场上占据一席之地。薄膜电阻精密的阻值控制、稳定性高、温度系数低等...
2018-05-30 15:40:01


贴片电阻的英文全称是Chip Resistor,因此它的缩写通常是CR。 有时您也可能会看到SMR (Surface Mount Resistor 表面贴装电阻...
2024-11-26 11:29:59

发光二极管(LED)作为重要的电子元件,应用于照明、显示和信号指示等领域。在实际应用中,正确识别发光二极管的正负极是非常重要的。本文将介绍如何分辨发光二极管的正...
2025-04-01 15:30:35

锉刀是用于金属、木材或塑料表面加工的手工工具,通常由金属制成。表面配有许多细小的凹槽和尖刺,这些特征使得锉刀在磨削、修整和精加工材料时非常有效。锉刀的形状多样,...
2017-05-22 00:00:00

022贴片电阻的阻值范围非常广,从几毫欧到几兆欧都有,并没有一个单一的正常值。具体阻值取决于电路设计需求。022指的是电阻的封装尺寸,即英制尺寸0201,长0....
2024-11-29 10:25:56

掌握FPGA可以找到一份很好的工作,对于有经验的工作人员,使用FPGA可以让设计变得非常有灵活性。掌握了FPGA设计,单板硬件设计就非常容易(不是系统设计),特...
2018-04-19 09:05:00

贴片电阻4321并非直接表示阻值大小,而是代表其封装尺寸。4321指的是英制代码,表示该电阻的长宽分别为0.04英寸和0.032英寸,也就是公制下的1.0mm ...
2024-11-29 10:25:37


SOT-23-6L是广泛应用于电子元器件封装的标准形式,因其小巧的体积和优良的性能,受到许多工程师和设计师的青睐。本文将详细介绍SOT-23-6L的结构特征、应...
2025-02-21 10:53:39