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

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

图像腐蚀和膨胀属于图像形态学的范畴,原理在上个系列有讲解,我们直接在FPGA上实现。

由于前面设计后了参数化的data_cache3模块,所以图像的腐蚀操作在FPGA上实现非常的简单,我们在\src\erosion文件夹下新建erosion.sv文件,rtl代码实现如下。首先例化data_cache3模块,用来获取3x3区域的图像数据。

根据不同的腐蚀算子,实现了四种图片的腐蚀。腐蚀算法就是对算子对于的数据直接去与即可

在顶层的top模块中,例化了rgb2ycbcr,binary,erosion模块,对二值化的单bit数据进行腐蚀

在tb_image_sim文件中的三个initial块如下所示,主要完成图像数据的读写和比对等。

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

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

最后打开img文件夹,也可以看到图像测试平台和FPGA硬件仿真的结果是一致的(no_seq*是图像测试平台处理后的图片,seq*是FPGA硬件仿真处理后的结果)。

相关推荐
I'm a winner8 小时前
新手入门Makefile:FPGA项目实战教程(二)
笔记·fpga开发
程序猿小D9 小时前
【完整源码+数据集+部署教程】孔洞检测系统源码和数据集:改进yolo11-RetBlock
yolo·计算机视觉·毕业设计·数据集·yolo11·孔洞检测
我爱C编程11 小时前
基于FPGA的8PSK+卷积编码Viterbi译码通信系统,包含帧同步,信道,误码统计,可设置SNR
fpga开发·通信·8psk·帧同步·snr·卷积编码·维特比译码
图灵学术计算机论文辅导12 小时前
傅里叶变换+attention机制,深耕深度学习领域
人工智能·python·深度学习·计算机网络·考研·机器学习·计算机视觉
Struart_R15 小时前
SpatialVLM和SpatialRGPT论文解读
计算机视觉·语言模型·transformer·大语言模型·vlm·视觉理解·空间推理
老艾的AI世界17 小时前
AI去、穿、换装软件下载,无内容限制,偷偷收藏
图像处理·人工智能·深度学习·神经网络·目标检测·机器学习·ai·换装·虚拟试衣·ai换装·一键换装
软件测试-阿涛18 小时前
【AI绘画】Stable Diffusion webUI 常用功能使用技巧
人工智能·深度学习·计算机视觉·ai作画·stable diffusion
I'm a winner19 小时前
新手入门 Makefile:FPGA 项目实战教程(三)
fpga开发
范纹杉想快点毕业21 小时前
嵌入式 C 语言编程规范个人学习笔记,参考华为《C 语言编程规范》
linux·服务器·数据库·笔记·单片机·嵌入式硬件·fpga开发
荼蘼21 小时前
OpenCv(二)——边界填充、阈值处理
人工智能·opencv·计算机视觉