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

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

3天内不再提示

hls之xfopencv

倩倩 来源:Hack电子 作者:Hack电子 2022-09-09 15:07 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

  1. 为什么要引入xfopencv

vivado本身集成了opencv库以及hls视频库了,opencv不能被综合导出为RTL电路,hls视频库的功能有所欠缺,因此引入xfopencv作为既可以被综合导出为RTL电路,也能够实现opencv丰富的功能。

2.软件环境

vivado 2019.1,包含vivado,hls,以及SDSOC套件。

3.下载

1.打开github直接搜索xfopencv,如图所示

d4aa65b8-2ffd-11ed-ba43-dac502259ad0.png

2.点击master->tags->选择与本身vivado匹配的版本(我的版本是2019.1,所以选择第一个)

d4d0d7c0-2ffd-11ed-ba43-dac502259ad0.png

4.使用(xfopencv/examples/canny)

1.解压下载的文档,创建HLS工程,右击source->add files,添加文件如如所示

d4fe2b58-2ffd-11ed-ba43-dac502259ad0.png

2.右击Test Bench->add files,添加如下文件,其中im0.jpg在data文件夹

d537b47c-2ffd-11ed-ba43-dac502259ad0.png

3.选中project->settings->syntheis 添加顶层文件,如图所示

d54f5460-2ffd-11ed-ba43-dac502259ad0.png

4.然后选中xf_canny_accel.cpp文件,选择Edit GFLAS Dialog,用于添加xfopencv库,添加内容

-I <路径 to your xfopencv> -D__(双下划线)SDSVHLS__(双下划线)。

d57051c4-2ffd-11ed-ba43-dac502259ad0.png

5.然后选择Simulation,对tb文件添加xfopencv库,方式同上,内容如下

-I <路径 to your xfopencv> -D__(双下划线)SDSVHLS__(双下划线) -std=c++0x

d5a96630-2ffd-11ed-ba43-dac502259ad0.png

5.综合以及C仿真

1.综合

由于xf_canny_accel.cpp文件中的XF_USE_URAM未被定义,删掉后综合才能不出错

原始代码

xf::Canny(_src,_dst1,low_threshold,high_threshold);  //xf::xfMat2AXIvideo(nms_output, _dst1);  #pragma SDS wait(1)  //xf::AXIvideo2xfMat(_dst1, nms_output);  xf::EdgeTracing(_dst1,_dst2);

更改以后的代码

xf::Canny(_src,_dst1,low_threshold,high_threshold);  //xf::xfMat2AXIvideo(nms_output, _dst1);  #pragma SDS wait(1)  //xf::AXIvideo2xfMat(_dst1, nms_output);  xf::EdgeTracing(_dst1,_dst2);  //xf::xfMat2AXIvideo(edge_output, _dst2);}

2.C仿真

选择im0.jpg作为输入图片

原始图像:

d60a80fa-2ffd-11ed-ba43-dac502259ad0.jpg

opencv处理图像:

d644cc9c-2ffd-11ed-ba43-dac502259ad0.png

xfopencv处理图像:

d68127dc-2ffd-11ed-ba43-dac502259ad0.png

以上为xfopencv的例子学习,关于xfopencv更加详细的介绍请参考xilinx官方文档ug1233

审核编辑 :李倩


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

    关注

    1

    文章

    395

    浏览量

    62955
  • OpenCV
    +关注

    关注

    33

    文章

    652

    浏览量

    45176
  • HLS
    HLS
    +关注

    关注

    1

    文章

    135

    浏览量

    26038

原文标题:hls之xfopencv

文章出处:【微信号:Hack电子,微信公众号:Hack电子】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    HLS设计中的BRAM使用优势

    高层次综合(HLS)是一种将高级编程语言(如C、C++或SystemC)转换为硬件描述语言(HDL)的设计方法。在FPGA设计中,设计者可以灵活地利用FPGA内部的资源,如块RAM(BRAM)。虽然
    的头像 发表于 01-28 14:36 494次阅读

    通过vivado HLS设计一个FIR低通滤波器

    Vivado HLS是一款强大的高层次综合工具,可将C/C++代码转换为硬件描述语言(HDL),显著提升FPGA开发效率。
    的头像 发表于 01-20 16:19 622次阅读
    通过vivado <b class='flag-5'>HLS</b>设计一个FIR低通滤波器

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

    : 这时为了方便地实现resize,可以利用Vivado HLS,具体为hls_video.h中的hls::Resize函数或hls::Resize_opr_linear函数
    发表于 10-31 07:59

    如何在vivadoHLS中使用.TLite模型

    本帖欲分享如何在vivadoHLS中使用.TLite模型。在Vivado HLS中导入模型后,需要设置其输入和输出接口以与您的设计进行适配。 1. 在Vivado HLS项目中导入模型文件 可以
    发表于 10-22 06:29

    harmony-utilsCacheUtil,缓存工具类

    harmony-utilsCacheUtil,缓存工具类
    的头像 发表于 07-04 16:36 663次阅读

    harmony-utilsCharUtil,字符工具类

    harmony-utilsCharUtil,字符工具类
    的头像 发表于 07-04 16:34 640次阅读

    harmony-utilsCrashUtil,异常相关工具类

    harmony-utilsCrashUtil,异常相关工具类
    的头像 发表于 07-04 16:33 739次阅读

    harmony-utilsDeviceUtil,设备相关工具类

    harmony-utilsDeviceUtil,设备相关工具类
    的头像 发表于 07-03 18:27 827次阅读

    harmony-utilsEmitterUtil,Emitter工具类

    harmony-utilsEmitterUtil,Emitter工具类
    的头像 发表于 07-03 18:24 587次阅读

    harmony-utilsFileUtil,文件相关工具类

    harmony-utilsFileUtil,文件相关工具类
    的头像 发表于 07-03 18:23 739次阅读

    harmony-utilsFormatUtil,格式化工具类

    harmony-utilsFormatUtil,格式化工具类
    的头像 发表于 07-03 18:22 731次阅读

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

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

    harmony-utilsDateUtil,日期工具类

    harmony-utilsDateUtil,日期工具类
    的头像 发表于 06-25 22:15 588次阅读

    使用AMD Vitis Unified IDE创建HLS组件

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

    如何使用AMD Vitis HLS创建HLS IP

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