hls之xfopencv

  1. 为什么要引入xfopencv

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

2.软件环境

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

3.下载

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

d003e9f73d5ec1b5be3ca313c3a8041f.png

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

642e2c030bcee9975819b606d3c4e7d7.png

4.使用(xfopencv/examples/canny)

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

0e7c220f5e4666fc3f0abe8c5f4cc56f.png

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

b0695a913c47ac2599dd15ae40b7d98d.png

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

fd20910ef64aca7ab63c7480e79e31d0.png

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

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

ad90ab49579689d648414ebe02d9cfa6.png

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

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

98482c12d9003bc2b285f608ced92fb9.png

5.综合以及C仿真

1.综合

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

原始代码

xf::Canny<FILTER_WIDTH,NORM_TYPE, XF_8UC1, XF_2UC1,HEIGHT, WIDTH,INTYPE, XF_NPPC32, XF_USE_URAM>(_src,_dst1,low_threshold,high_threshold);
  //xf::xfMat2AXIvideo(nms_output, _dst1);
  #pragma SDS wait(1)
  //xf::AXIvideo2xfMat(_dst1, nms_output);
  xf::EdgeTracing<XF_2UC1,XF_8UC1,HEIGHT, WIDTH, XF_NPPC32, XF_NPPC8, XF_USE_URAM>(_dst1,_dst2);

更改以后的代码

xf::Canny<FILTER_WIDTH,NORM_TYPE, XF_8UC1, XF_2UC1,HEIGHT, WIDTH,INTYPE, XF_NPPC32>(_src,_dst1,low_threshold,high_threshold);
  //xf::xfMat2AXIvideo(nms_output, _dst1);
  #pragma SDS wait(1)
  //xf::AXIvideo2xfMat(_dst1, nms_output);
  xf::EdgeTracing<XF_2UC1,XF_8UC1,HEIGHT, WIDTH, XF_NPPC32, XF_NPPC8>(_dst1,_dst2);
  //xf::xfMat2AXIvideo(edge_output, _dst2);
}

2.C仿真

选择im0.jpg作为输入图片

原始图像:

d6eec79778f72c97583cb0ccfa1a727a.jpeg

opencv处理图像:

b7a9fbb31ee1129f2adcbe9cd8c6b12c.png

xfopencv处理图像:

317b88027ed5ba70865d00c84a4ec311.png

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

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值