最近做了一个项目,项目中有一个图像的前处理部分,具体实现的功能包括
1.颜色空间转化(nv12->rgb)
2.图像的resize(4k->480*360)
3.scale和减均值((x-a)/b+c)类似这样的操作
你觉得从头开始用RTL写需要多久,我觉得如果你没有现成的IP,自己一点一点写,再加调试时间不会太短,至少应该个把月,这还得是对熟手吧
那用xilinx的 vitis library呢,3天,是不是挺夸张了,而且是3天后都上板了,而且结果正确,想不想学学
先上github
https://github.com/Xilinx/Vitis_Libraries/tree/master/vision/L2/examples
这个example下包括很多的图像预处理的library,这是提前用hls写好的,走的是vitis流程,不过后面会具体映射到rtl的kernel,先简单的上一张图吧,里面的HLS IP挺多的,基本上能把你最常用的图像处理部分都想到了
其实它用起来也挺简单的,按照运行的step可以直接测试,如果你手头正好用zcu102 和zcu104的话,那更方便了,make完直接上板测试,如果你手头没有的话,他也可以支持仿真,sw和hw的仿真都支持。
后面我也会抽出一点时间,介绍下,先从单个kernel 的运行,以及怎么组合不同的kernel实现多种功能的组合一起介绍下。