基于Vitis Hls加速图像处理

本文介绍了如何在2020.1版本的Vitis环境中使用VitisVision库,不再依赖预装OpenCV,以及详细步骤包括安装OpenCV、配置环境、L1-L3代码理解及Linux下实际操作过程。涉及关键步骤如编译、仿真和协同仿真,适合HLS开发者使用.

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、unified2020.1
linux ubuntu18.04.2

推荐文档链接:
https://xilinx.github.io/Vitis_Libraries/vision/2020.1/overview.html#hls-standalone-mode
https://forums.xilinx.com/t5/High-Level-Synthesis-HLS/Using-Vitis-Vision-Libraries-and-OpenCV/td-p/1170435
https://github.com/Xilinx/Vitis_Libraries
Vitis Vision库是OpenCV和Vision功能的加速库,可在Vitis环境中使用,这些库的L1目录是示例设计。为了适应各种用户环境,从2020.1版本开始,Xilinx不再使用Vivado / Vitis工具提供预安装的OpenCV版本。尽管Vitis_hls编译Vision库不需要OpenCV,但是用户测试验证使用时OpenCV。
2、linux下安装opencv(opencv-3.4.12)
链接:https://opencv.org/releases/
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libjpeg.dev libtiff4.dev
unzip opencv-3.4.12.zip
cd opencv-3.4.12
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DOPENCV_GENERATE_PKGCONFIG=ON -DCMAKE_INSTALL_PREFIX=/usr/local …
make -j8
sudo make install

ldconfig -p |grep opencv
sudo ldconfig -v
qt中测试,报错 failed to load module “canberra-gtk-module”
sudo apt-get install libcanberra-gtk-module

3、在vitis library中 每个类别提供三种代码
L1:最低级的代码,旨在用高级综合工具综合后,可以在Vitis(逻辑)中实现这些功能,或将其用作新IP开发的一部分。
L2:中间级可以在Vitis中实现功能(逻辑)。不太懂也不关心!
L3:最高级提供了由多个加速内核创建的应用程序。不太懂也不关心!
4、在linux系统中测试
(1)复制L1/examples中的sobelfilter
(2)将build文件复制到文件夹(xf_config_params.h)这个文件存放的是滤波器的参数
(3)在data中辅助一个128x128的png图像
(4)配置hls运行前的环境

source < path-to-Vitis-installation-directory >/settings64.sh

export OPENCV_INCLUDE=< path-to-opencv-include-folder >

export OPENCV_LIB=< path-to-opencv-lib-folder >

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:< path-to-opencv-lib-folder >

(5)在此终端打开vitis_hls
(6)新建hls工程
(7)添加源文件中所需的.cpp 和.h 并且在cflags中添加

-I<path-to-L1-include-directory> -std=c++0x(其他调用的.h文件的路径,否则将头文件复制到一个文件夹)

在这里插入图片描述

(8)在tb的cflags中添加

-I<path-to-L1-include-directory> -std=c++0x -I<path-to-opencv-include-folder> (其他调用的.h文件的路径,否则将头文件复制到一个文件夹)

在这里插入图片描述

(9)在连接器 (linker flags)中添加

-L<path-to-opencv-lib-folder> -lopencv_core -lopencv_imgcodecs -lopencv_imgproc

(10)在输入(input arguments)中输入图片名称
(11)保存
5、点击综合
在这里插入图片描述

6、点击仿真
在这里插入图片描述

7、实验现象
在这里插入图片描述
8、协同仿真
在这里插入图片描述
9、信号太多,挑模块的输入输出即可,否则除非内存很大,不然会卡死。
输入数据
在这里插入图片描述
输出数据
在这里插入图片描述

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值