闲庭信步使用图像验证平台加速FPGA的开发:第十五课——基于sobel算子边缘检测的FPGA实现

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

上个系列中成工有说过,只要有视频处理能力的开发板,基于sobel算子的边缘检测例程是必不可少的,最主要的原因就是sobel算子实现起来非常的简单。对于我们来说,由于已经实现了图像行缓存data_cache模块,那实现基于sobel算子的边缘检测更加简单。

sobel算子如下所示,简单起见,我们不使用乘法和开方运算,直接使用绝对值求和。

在\src\sobel文件夹下新建sobel.sv文件,基本功能如下,先使用组合逻辑求出Gx和Gy的绝对值求和G,然后使用时序逻辑实现G和阈值threshold的比对。可以使用相位polarity来设置边缘是黑色还是白色的。

在top文件中,例化了rgb2ycbcr模块和sobel模块,分别获取灰度图像并对灰度图像进行边缘检测。

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

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

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

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

当然也可以设置polarity将相位反一下,对比图像如下所示。

相关推荐
羞儿4 小时前
人体姿态估计系统知识框架
深度学习·计算机视觉·姿态估计·行为识别
大江东去浪淘尽千古风流人物7 小时前
【UniSim-SLAM】前馈SLAM的双流架构:Sim(3)统一位姿图、与经典SLAM及DPVO的三范式对比
深度学习·计算机视觉·3d·交互·人体姿态估计·eccv·3d重建
XiaoZhenHua988 小时前
VisionPro多相机高速检测性能优化实战:从图像堆积到稳定运行
人工智能·计算机视觉·自动化
matlab代码8 小时前
基于matlab多尺度形态学提取眼前节组织【源码73期】
图像处理·人工智能·计算机视觉
hahaha601613 小时前
HLS高层次综合设计技巧--数组
开发语言·嵌入式硬件·算法·fpga开发
NamoAmitabha12814 小时前
直接上手 UVM 例子
fpga开发
大江东去浪淘尽千古风流人物15 小时前
【LoMa】局部特征匹配重访:从LoMa-B到旋转不变LoMa-R的架构与工程实践
开发语言·深度学习·计算机视觉·r语言·视觉定位·sfm·局部特征匹配
XiaoZhenHua9818 小时前
C#工业机器视觉软件架构设计:从能运行的Demo到能够稳定跑产线的软件
计算机视觉·系统架构·自动化
这张生成的图像能检测吗18 小时前
(论文速读)基于两阶段多模式深度学习的轮胎表面缺陷自动检测及严重程度分类系统
人工智能·深度学习·计算机视觉·数据采集·检测系统·缺陷检测分类·轮胎缺陷
cmc102818 小时前
301.modelsim自动仿真
fpga开发