闲庭信步使用图像验证平台加速FPGA的开发:第六课——测试图案的FPGA实现

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

在FPGA的视频开发中,**使用测试图案能够加速开发和问题的定位,**如果摄像头还没到位,可以先使用测试图案进行算法的开发和验证;再比如视频相关的信号线有问题,造成采集的图像有问题,可以是使用横条纹,竖条纹,斜条纹等快速的来定位是哪根数据线有问题,一遍快速的修复。

**测试图案,就是在已有的场同步,行同步,数据有效这三个信号的控制下,用测试的数据替换真实的图像数据,**最常见的测试图案就是黑白条纹和color bar,虽然简单,但是定位问题非常有效果。本篇除了实现条纹和color bar,还可以放空思维,填充任意的测试图案。

在test_pattern模块中,pattern_sel控制产生不同的测试图案,grid_size控制其它方格的大小,hsync_cnt是每一行中列的计数信号,vsync_cnt是行计数信号,active_in,hsync_in,vsync_in就是数据有效,行同步和场同步信号,hsync_cnt,vsync_cnt,active_in,hsync_in,vsync_in等信号都来自video_ctrl模块。

可以产生横条纹,竖条纹,斜条纹,彩条,棋盘,行列计数的乘除,与或异或随机数等,而且可以是每个操作的任意组合。

不同模式的任意组合,可以产生更多形形色色的图案。

在顶层的top文件中,例化test_pattern模块。

在tb_image_sim仿真文件中的第二个initial块中,保存了图像测试平台和FPGA硬件仿真产生的测试图案。需要注意的一点是,在FPGA的硬件仿真中,不同于图像测试平台可以在0时刻任意产生多副图片,一帧数据的处理时间只能产生一幅图像,也就是每次frame_done生成一幅图像,所以这儿用了repeat语句,用来产生TOTAL_NUM副图像,本例产生了22幅测试图案。

还有一点需要注意,由于用来存储图像数据的seq_r,seq_g,seq_b都是队列,如果每帧图像处理完后不清空队列,数据会继续往后面写,save_3chnl_bmp (path_seq,seq_b,seq_g,seq_r)就会生成22幅相同的图片,所以每生成一幅图片,就将队列用delete清空一次。

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

可以看到在modelsim的Transcript有如下的打印信息,共保存了22幅图片(从0开始计数)。

打开img文件夹下的nseq文件下,有图像测试平台生成的9幅图片。

打开img文件夹下的seq文件夹,可以看到生成的22幅图片。

相关推荐
LUCIALEE14 小时前
训练越久越差:两个无人机小样本,把 3DGS 正射 TDOM 的边界跑出来了
计算机视觉
陈嘿萌19 小时前
ECCV 2026 | CausalDrive:澳门大学×小米汽车,面向自动驾驶的实时因果世界模型
图像处理·人工智能·深度学习·计算机视觉·自动驾驶·学术研究与理论基础
9527华安20 小时前
FPGA实现ARINC818总线协议,基于GT Transceivers Wizard高速收发器,提供7套工程源码和技术支持
fpga开发·transceivers·arinc818
小蘇的FPGA1 天前
fpga-wide-data-crc32
fpga开发
楚山之石1 天前
【MRM】CAPLEX 对比剂灌注 MRI 开源术语库:ISMRM OSIPI 共识报告
图像处理·人工智能·学习·mri
落雨无风1 天前
fpga板级调试常见问题
fpga开发
song150265372982 天前
小型零部件外观检测难?AI机器视觉检测设备,适配全行业小件质检
人工智能·计算机视觉·视觉检测
xsd202411182 天前
AI 智能美甲推荐系统技术全解析
人工智能·计算机视觉
原子延迟2 天前
批量压缩视频会变大?HandBrake等3款(2026)
图像处理·人工智能·计算机视觉·音视频
码农小韩2 天前
FPGA学习(一)——LED点灯与开发流程
学习·fpga开发·入门·环境配置·仿真·点灯