FPGA图像处理——前置基础篇
本系列博客旨在结合FPGA来进行图像处理,致力于各种图像处理算法的实现,同时参考了博客原创作者——咸鱼FPGA的资料。以下是前置基础三节,我会以一个小白的角度去思考,解析学习过程中遇到的各种问题。
1.Modelsim 联合 Matlab的图像仿真平台
这是一个用于验证自己各种图像处理算法实现效果的平台,基本思路在于,将要进行处理的图片转换为. txt 格式,利用 modelsim 的脚本把 .txt 文件输入到 testbench 中进行仿真并得到处理后的 .txt文件,最后用matlab显示处理后效果。
举个栗子——图像RGB转Gray
step1:利用img_to_txt脚本将RGB图像转换为hex文件便于输入
step2: 编写对应的verilog以及testbench文件
以一个RGB转GRAY的程序为例,编写好对应的img_en.v \ rgb_to_gray.v \ top.v \ tb_top.v之后,创建ise并进行仿真
step3:熟悉modelsim的相关操作,熟悉bat文件的编写
step4:用matlab进行处理,查看相应图像处理算法的实现效果
过程中出现的问题
- 代码编译过程中出现了,在top_tb中作为引用的数据应该是常量;错误的定义了其中img_data的位宽导致数据呈现高阻态无法被matlab识别
- matlab端则是出现了,matlab侧和FPGA侧对于图片的定义要统一,不能前后不一致;再就是转换成的灰度数据为24位宽,直接显示的话图片呈白色,需要把数据进行一个8位宽的转换