0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Vitis HLS的加速图像处理

C29F_xilinx_inc 来源:赛灵思 作者:赛灵思 2022-02-16 16:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

1、unified2020.1
linux ubuntu18.04.2

推荐文档链接:
https://xilinx.github.io/Vitis_Libraries/vision/2020.1/overview.html#hls...
https://forums.xilinx.com/t5/High-Level-Synthesis-HLS/Using-Vitis-Vision...
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 /settings64.sh

export OPENCV_INCLUDE=

export OPENCV_LIB=

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:

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

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

pYYBAGIMpwuAc9UmAADrfB2ykoA971.png

(8)在tb的cflags中添加

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

pYYBAGIMpw2AHjKZAAE0vQHNAl4672.png

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

-L
-lopencv_core -lopencv_imgcodecs -lopencv_imgproc

(10)在输入(input arguments)中输入图片名称
(11)保存

5、点击综合

poYBAGIMpw-AITWhAAG1CG9beLU462.png

6、点击仿真

pYYBAGIMpxCABtm7AAE9t5LS-G0135.png

7、实验现象

pYYBAGIMpxGAKJ3wAAFETYgmib0808.png

8、协同仿真

poYBAGIMpxOAJiuVAADPoO7VQFY638.png

9、信号太多,挑模块的输入输出即可,否则除非内存很大,不然会卡死。

输入数据

pYYBAGIMpxSAB2wjAARKrLzrrEI915.png

输出数据

poYBAGIMpxaAQzk5AARSoBV0EnU897.png
审核编辑:符乾江
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 图像处理
    +关注

    关注

    28

    文章

    1340

    浏览量

    59170
  • Vitis
    +关注

    关注

    0

    文章

    154

    浏览量

    8258
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    如何在AMD Vitis Unified IDE中使用系统设备树

    您将在这篇博客中了解系统设备树 (SDT) 以及如何在 AMD Vitis Unified IDE 中使用 SDT 维护来自 XSA 的硬件元数据。本文还讲述了如何对 SDT 进行操作,以便在 Vitis Unified IDE 中实现更灵活的使用场景。
    的头像 发表于 11-18 11:13 2807次阅读
    如何在AMD <b class='flag-5'>Vitis</b> Unified IDE中使用系统设备树

    AMD Vitis AI 5.1测试版现已开放下载

    AMD Vitis AI 5.1全新发布——新增了对 AMD Versal AI Edge 系列神经网络处理单元( NPU )的支持。Vitis AI 包含优化的 NPU IP、模型编译工具和部署 API,可在嵌入式平台上实现可
    的头像 发表于 11-08 09:24 976次阅读

    AMD Vitis AI 5.1测试版发布

    AMD Vitis AI 5.1全新发布——新增了对 AMD Versal AI Edge 系列神经网络处理单元 (NPU) 的支持。Vitis AI 包含优化的 NPU IP、模型编译工具和部署 API,可在嵌入式平台上实现可
    的头像 发表于 10-31 12:46 482次阅读

    蜂鸟处理器+OV5640摄像头模块开发

    本队伍编号CICC3042,本文重点介绍蜂鸟处理器和OV5640模块的结合方式、OV5640的窗口调节,以及图像的resize方法,试图以一种简单快速的方式得到令人满意的OV5640的输出图像,为
    发表于 10-31 07:59

    如何在Unified IDE中创建视觉库HLS组件

    最近我们分享了开发者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 传统 IDE)和开发者分享|AMD Vitis
    的头像 发表于 07-02 10:55 1121次阅读
    如何在Unified IDE中创建视觉库<b class='flag-5'>HLS</b>组件

    使用AMD Vitis Unified IDE创建HLS组件

    这篇文章在开发者分享|AMD Vitis HLS 系列 1 - AMD Vivado IP 流程(Vitis 传统 IDE) 的基础上撰写,但使用的是 AMD Vitis Unifie
    的头像 发表于 06-20 10:06 1911次阅读
    使用AMD <b class='flag-5'>Vitis</b> Unified IDE创建<b class='flag-5'>HLS</b>组件

    如何使用AMD Vitis HLS创建HLS IP

    本文逐步演示了如何使用 AMD Vitis HLS 来创建一个 HLS IP,通过 AXI4 接口从存储器读取数据、执行简单的数学运算,然后将数据写回存储器。接着会在 AMD Vivado Design Suite 设计中使用此
    的头像 发表于 06-13 09:50 1273次阅读
    如何使用AMD <b class='flag-5'>Vitis</b> <b class='flag-5'>HLS</b>创建<b class='flag-5'>HLS</b> IP

    Vivado HLS设计流程

    为了尽快把新产品推向市场,数字系统的设计者需要考虑如何加速设计开发的周期。设计加速主要可以从“设计的重用”和“抽象层级的提升”这两个方面来考虑。Xilinx 推出的 Vivado HLS 工具可以
    的头像 发表于 04-16 10:43 1346次阅读
    Vivado <b class='flag-5'>HLS</b>设计流程

    图像采集卡:现代图像处理技术的关键组件

    在现代科技快速发展的背景下,图像处理技术已成为信息技术领域不可或缺的一部分。图像采集卡,作为连接计算机与各种图像采集设备的重要硬件组件,扮演着至关重要的角色。它不仅涉及
    的头像 发表于 02-20 10:42 918次阅读
    <b class='flag-5'>图像</b>采集卡:现代<b class='flag-5'>图像</b><b class='flag-5'>处理</b>技术的关键组件

    FPGA图像处理基础----实现缓存卷积窗口

    像素行与像素窗口 一幅图像是由一个个像素点构成的,对于一幅480*272大小的图片来说,其宽度是480,高度是272。在使用FPGA进行图像处理时,最关键的就是使用FPGA内部的存储资源对像
    的头像 发表于 02-07 10:43 1411次阅读
    FPGA<b class='flag-5'>图像</b><b class='flag-5'>处理</b>基础----实现缓存卷积窗口

    使用HLS流程设计和验证图像信号处理设备

    STMicroelectronics成像部门负责向消费者、工业、安全和汽车市场提供创新的成像技术和产品。该团队精心制定了一套通过模板实现的High-Level Synthesis(HLS)高层次综合流程,使得上述产品能够迅速上市。对于汽车市场,该流程符合ISO 26262标准,因此能确保可靠性。
    的头像 发表于 01-08 14:39 1138次阅读
    使用<b class='flag-5'>HLS</b>流程设计和验证<b class='flag-5'>图像</b>信号<b class='flag-5'>处理</b>设备

    使用AMD Vitis进行嵌入式设计开发用户指南

    Zynq MPSoC 和 AMD Alveo 数据中心加速器卡)为目标的异构嵌入式应用。 Vitis 工具包括: C++ 编译器、库和本征函数,适用于 AI 引擎和可编程逻辑( PL ) 适用于 Arm
    的头像 发表于 01-08 09:33 2162次阅读
    使用AMD <b class='flag-5'>Vitis</b>进行嵌入式设计开发用户指南

    基于FPGA实现图像直方图设计

    简单,单采用FPGA来实现直方图的统计就稍显麻烦。若使用Xilinx和Altera的FPGA芯片,可以使用HLS来进行图像加速处理。但这暂时不是我的重点。 用C语言实现直方图统计:u
    的头像 发表于 12-24 10:24 1195次阅读
    基于FPGA实现<b class='flag-5'>图像</b>直方图设计

    助力AIoT应用:在米尔FPGA开发板上实现Tiny YOLO V4

    Darknet 上训练的截图 四、 通过 Vivado HLS 为 FPGA 准备模型要将模型部署到 FPGA,需要将神经网络操作转换为硬件级描述。使用 Xilinx 的 Vitis HLS(高级综合)可以将
    发表于 12-06 17:18

    傅立叶变换在图像处理中的作用

    傅里叶变换在图像处理中发挥着至关重要的作用。以下是傅里叶变换在图像处理中的几个主要作用: 一、图像增强与去噪 去噪 :
    的头像 发表于 12-06 16:55 3064次阅读