当前位置: 首页 > news >正文

演示基于FPGA的视频图像去雾处理效果

我近期用FPGA开发板做了一个视频图像去雾算法模块,用于验证其能否在不进行帧缓冲的情况下实现去雾功能。

去雾算法来自一篇技术资料(私信提供篇名),其基础是近似的大气光模型。

1 算法原理概要

借助RGB直角坐标空间中的光矢量分解,将带雾像素(即原始像素)矢量分解为两部分 -- 清晰矢量(去雾后这个像素的矢量)、大气光矢量,再将大气光矢量分解为虚拟的暗平面像素矢量、增强矢量(从暗平面像素矢量末端到大气光矢量末端的矢量)。

从第N-1帧中筛选出一部分天空像素,基于天空像素矢量、中间计算得到的近似的透射函数、暗平面像素矢量,计算出由大气因素导致的全局增亮系数。

针对第N帧的每个像素,计算其近似的透射函数、本像素对应的暗平面像素、增强矢量的单位矢量,结合第N-1帧计算得到的全局增亮系数,最终计算得到去雾后这个像素的矢量。

在完整实现上述算法的基础上,我对其做了小幅度的改进。

2 演示环境

演示环境

如上图所示,FPGA开发板的摄像头插卡(插在板子上沿左侧的双排针座上)上有摄像头,采集到的视频数据流由FPGA接收;我用VerilogHDL编写算法功能,对从摄像头提供的视频图像(480x272/60Hz)进行去雾运算,结果输出到插在FPGA开发板上的LCD屏(插在板子上沿右侧的双排针座上)予以实时对比显示,形成完整的验证闭环。

我只做了去雾模块的代码实现,摄像头、LCD的驱动模块直接调用了开发板厂商提供的demo工程。

3 视频演示

以下是效果演示视频(LCD屏左侧显示原始视频、右侧显示去雾后的视频)。

视频1:

去雾视频-1

视频2:

去雾视频-2

视频3:

去雾视频-3

LCD屏的显示分辨率比较低,加之由手机拍摄,画面有点儿糊;手不稳,抱歉(^_^)。

相关文章:

  • 算法——母牛的故事(递归+迭代)
  • 【GreatSQL优化器-15】index merge
  • springcloud gateway并发量多大
  • 03.Docker 命令帮助
  • 解决npm问题:错误的代理设置
  • 构建高可用和高防御力的云服务架构第一部分:深入解析DDoS高防(15)
  • CDGA|企业数据治理实战:从疏通“信息河”到打造优质“数据湖”
  • 采用DDNS-GO与cloudflare实现双域名同时访问NAS
  • 探索Android动态埋点的新视界:UprobeStats深度解析
  • SQL ①-数据库 || MySQL
  • Gradio全解11——使用transformers.agents构建Gradio UI(6)
  • Jenkins 节点 Node 概念
  • 波导阵列天线 学习笔记10 用于60GHz频带的高隔离、高效率的双极化波导槽阵列天线的设计与制造
  • 网络安全 linux学习计划 linux网络安全精要
  • 【SpringBoot】_统一功能处理:统一数据返回格式
  • npm包无法识别命令
  • Redis高级篇之布隆过滤器
  • 使用 DistilBERT 进行资源高效的自然语言处理
  • 蓝桥杯备考:搜索算法之枚举子集
  • 【UCB CS 61B SP24】Lecture 7 - Lists 4: Arrays and Lists学习笔记
  • 一个人可以建设几个网站/网络推广怎么做
  • 数据库查询网站建设/搜狗搜索排名优化
  • 小说网站搭建教程/怎么做关键词优化排名
  • wordpress 菜单跳转/1688关键词怎么优化
  • 酒泉市建设局网站招标办/网址解析ip地址
  • 高唐做创建网站的公司/关联词有哪些五年级