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

闲庭信步使用图像验证平台加速FPGA的开发:第二十课——图像还原的FPGA实现

 (本系列只需要modelsim即可完成数字图像的处理,每个工程都搭建了全自动化的仿真环境,只需要双击top_tb.bat文件就可以完成整个的仿真,大大降低了初学者的门槛!!!!如需要该系列的工程文件请关注知识星球:成工fpga,https://t.zsxq.com/DMeqH,关注即送200GB学习资料,链接已置顶!)

上篇我们讲解了获取图像的拉普拉斯金字塔,就是原始图像和高斯滤波的图像的差就是拉普拉斯金字塔的值。在图像处理中,得到了图像的拉普拉斯金字塔,可以进行一些高级算法的处理,比如多幅图片的融合,融合后再还原到原图片,也就是拉普拉斯金字塔高级算法处理后的数据和高斯滤波的数据相加后还原到原图片的值。本篇不做任何的高级算法的处理,直接由拉普拉斯金字塔数据和高斯滤波数据让图片还原。

我们知道,如果A-B=C,那B+C=A,就是A非常容易还原,但是|A-B|=C,就是取两个数差的绝对值,如果根据B和C反求出来A呢?最简单的方式就是有个信号能标示出A和B到底谁大,这样还原的时候就知道到底是B+C=A还是B-C=A了。

所以我们对laplacian模块进行如下的更改,flag信号用来指示两个数据的大小,而且可以将flag和数据结果组合成一个9bit的信号dout输出。

在\src\restoration文件夹下新建restoration.sv文件,功能就是对拉普拉斯数据和高斯滤波的数据加减还原图片。有一点需要注意的是,拉普拉斯的数据是由根高斯滤波的数据和原始数据相减得到的,比高斯滤波的数据延时了一个时钟周期,所以该模块首先将高斯滤波相关的信号延时一个时钟周期和拉普拉斯的数据对齐。然后根据拉普拉斯数据din_lap的最高位进行加减的还原操作。

在top文件下例化rgb2ycbcr,gaussian,row_cache3,laplacian,restoration模块并将相关的信号进行连接。

在tb_image_sim文件中的第二个initial块中,将图像测试平台和FPGA硬件仿真的结果保存并比对。

双击sim文件夹下的top_tb.bat文件,完成系统的自动化仿真。

可以看到在modelsim的Transcript有如下的打印信息,图像测试平台和FPGA硬件仿真的结果一致。

打开img文件夹,可以看到还原后的图片和原始的灰度图片是一致的。

http://www.dtcms.com/a/284963.html

相关文章:

  • 深入理解进程等待:wait的简化与waitpid的灵活性
  • kimi故事提示词 + deepseekR1 文生图提示
  • milvus向量数据库连接测试 和 集合维度不同搜索不到内容
  • windows利用wsl安装qemu
  • 利用deepspeed在Trainer下面微调大模型Qwen2.5-3B
  • SpringBoot01-springBoot的特点
  • 登录功能实现深度解析:从会话管理到安全校验全流程指南
  • 【算法训练营Day13】二叉树part3
  • 【中等】题解力扣21:合并两个有序链表
  • 教你使用bge-m3生成稀疏向量和稠密向量
  • 大语言模型系列(1): 3分钟上手,在骁龙AI PC上部署DeepSeek!
  • 【Lua】题目小练2
  • LIN协议核心详解
  • c++之 KMP 讲解
  • Cocos游戏中UI跟随模型移动,例如人物头上的血条、昵称条等
  • C++中,不能声明为虚函数的函数类型
  • C++进阶-AVL树(平衡二叉查找树)(难度较高)
  • 2025 XYD Summer Camp 7.17 模考
  • Vue.js 响应式原理深度解析:从 Vue 2 的“缺陷”到 Vue 3 的“涅槃重生”
  • OpenVela之网络驱动适配指南
  • JxBrowser 7.43.5 版本发布啦!
  • ​​Sublime Text 2.0.2.2221 安装教程 - 详细步骤指南(附下载与配置)​
  • 深入解析:Chunked Prefill 与 FlashAttention/FlashInfer 如何协同工作
  • WSL2 离线安装流程
  • 如何让订货系统支持多角色?
  • 药品通用名、商品名、规格剂型查询API接口-中国药品批文数据库
  • 深度学习之优化方法
  • 页面登录阻止浏览器提醒是否保存密码
  • 算法讲解-移动零
  • 面试Redis篇-深入理解Redis缓存击穿