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

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

前面我们实现了图像的高斯滤波下采样得到高斯金字塔的图片,反过来,我们能不能把下采用后的图片还原回去呢?当然是可以的,如下所示,通过上采样是可以还原出原图片的。但是这张图没有说上采样的方法和步骤。

图像的上采样首先要对下采样的图片进行插值 ,因为一次下采用后图片大小变成了原来的四分之一,要先插值把四分之三的图片补足。插值可以简单的补零和补相邻的像素,我们采用补相邻点的像素。插值后的图片会很不自然,所以要进行高斯滤波进行模糊和平滑 ;高斯滤波后的图片数据再和拉普拉斯金字塔的数据还原操作后就可以还原出原始的图片。

首先我们要在FPGA里面模拟出来下采样后插值后的图像,在\src\pyramid文件夹下新建pyramid.sv文件,实现的功能就是让奇数行的数据和相邻的偶数行的数据一样,奇数列的数据和相邻的偶数列的数据一样,实现如下所示,需要一行数据的缓存,用来填充下一行。根据奇偶行列的指示信号完成数据的处理。

高斯滤波,拉普拉斯金字塔,图像还原的模块前面章节都已经实现,所以在top模块中直接例化rgb2ycbcr,gaussian,row_cache3,laplacian,pyramid,restoration等模块,注意一点,就是高斯滤波至少会有2行2列数据的延时,所以上采样高斯滤波时,需要对拉普拉斯金字塔的数据进行row_cache3的缓存。流程也是非常清晰的,通过rgb2ycbcr模块获取灰度图像,gaussian模块对灰度图像进行高斯滤波,row_cache3模块缓存同步灰度图像,通过laplacian模块获取拉普拉斯金字塔的数据;pyramid模块完成模拟完成图像的上采样插值,gaussian模块对上采样的图像进行高斯滤波,row_cache3模块缓存同步拉普拉斯金字塔的数据,最终通过restoration模块完成图像的复原。

在img_process_pkt包中也新建pyramid_up task,方便图像测试平台和FPGA仿真数据的比对。

在tb_image_sim文件中的第二个initial块中,在图像测试平台中首先将RGB图像通道分离,然后获取灰度图像,再对灰度图像进行高斯滤波和拉普拉斯金字塔数据获取,然后对高斯滤波的图像进行下采样后再上采用,上采样后的图像再进行高斯滤波,最后进行图像的复原。最后将图像测试平台和FPGA硬件仿真的结果保存并比对。

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

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

最后我们打开img文件夹,对比一下原始图像和上采样的图片,左边是原始图片,后面是上采样还原的图片,除了有点模糊,整体的还原效果还是非常自然的。

相关推荐
ZhengEnCi3 小时前
一句话定位图片中目标最准的模型是哪个:2026 视觉定位 SOTA 全面评测与选型指南
计算机视觉
ChaseVLSI11 小时前
FPGA与ASIC的区别详解:内部结构、开发成本与适用场景,项目选型到底该选哪个
嵌入式硬件·fpga开发·硬件架构·硬件工程
小豆庄11 小时前
测试视频里的人脸车牌敏感信息自动化脱敏方案
计算机视觉·目标跟踪·ffmpeg·音视频·边缘计算·视频·敏捷流程
LUCIALEE1 天前
训练越久越差:两个无人机小样本,把 3DGS 正射 TDOM 的边界跑出来了
计算机视觉
陈嘿萌1 天前
ECCV 2026 | CausalDrive:澳门大学×小米汽车,面向自动驾驶的实时因果世界模型
图像处理·人工智能·深度学习·计算机视觉·自动驾驶·学术研究与理论基础
9527华安1 天前
FPGA实现ARINC818总线协议,基于GT Transceivers Wizard高速收发器,提供7套工程源码和技术支持
fpga开发·transceivers·arinc818
小蘇的FPGA1 天前
fpga-wide-data-crc32
fpga开发
楚山之石2 天前
【MRM】CAPLEX 对比剂灌注 MRI 开源术语库:ISMRM OSIPI 共识报告
图像处理·人工智能·学习·mri
落雨无风2 天前
fpga板级调试常见问题
fpga开发
song150265372982 天前
小型零部件外观检测难?AI机器视觉检测设备,适配全行业小件质检
人工智能·计算机视觉·视觉检测