xilinx_fpga_zynq设计中使用hls实现opencv的开发流程

xilinx_fpga_zynq设计中使用hls实现opencv的开发流程

ID:11674619

大小:938.12 KB

页数:3页

时间:2018-07-13

xilinx_fpga_zynq设计中使用hls实现opencv的开发流程_第1页
xilinx_fpga_zynq设计中使用hls实现opencv的开发流程_第2页
xilinx_fpga_zynq设计中使用hls实现opencv的开发流程_第3页
资源描述:

《xilinx_fpga_zynq设计中使用hls实现opencv的开发流程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、73305830IndustryControl责任编辑:王莹XilinxFPGA/Zynq设计中使用HLS实现OpenCV的开发流程OpenCVApplicationwithXilinxFPGA/ZynqUsingHLSDesignFlow郭丰收Xilinx公司处理器上实现视频处理性能低功耗高的限制,Zynq高性能可编程逻辑和嵌入式ARM内核,是一款性能功耗优化的图像处理集成式解决方案。1OpenCV中图像IplImage,CvMat,Mat类型的关系和VivadoHLS中图像hls::Mat类型OpenCV中常

2、见的与图像操作有关的数据容器有Mat,CvMat和IplImage,这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高。而CvMat和IplImage类型更侧重于“图像”,OpenCV对其中的图像操作(缩放、单通道提取、图像阈值操作等)进行了优化。1.1OpenCV中的Mat矩阵类型郭丰收:XilinxDSP专家,主要从事在Xilinx器件上实现数字信号处理的系统方案、架构和算法应用。开源计算机视觉(OpenCV)被广泛用于开发计算机视觉应用,它包含2500多个优化的视频函数的函数库并且专门针

3、对台式机处理器和GPU进行优化。XilinxVivadoHLS高层次综合工具能够使用C/C++编写的代码直接创建RTL硬件,显著提高设计生产力,同时,XilinxZynq全可编程SoC系列器件嵌入双核ARMCortex-A9处理器将软件可编程能力与FPGA的硬件可编程能力实现完美结合,以低功耗和低成本等系统优势实现单芯片高的系统性能、灵活性、可扩展性,加速图形处理产品设计上市时间。OpenCV拥有成千上万的用户,而且OpenCV的设计无需修改即可在Zynq器件的ARM处理器上运行,但是利用OpenCV实现的高清处

4、理经常受外部存储器的限制,尤其是存储带宽会成为性能瓶颈,存储访问也限制了功耗效率。使用Xilinx公司的VivadoHLS高级语言综合工具,可以轻松实现OpenCVC++视频处理设计到RTL代码的转换,输出Zynq的硬件加速器或者直接在FPGA上实现实时硬件视频处理功能。同时,Xilinx公司的ZynqAll-programmableSoC是实现嵌入式计算机视觉应用的好方法,解决了在单一图1ZynqAll-programmableSoC系统架构50www.eepw.com.cn2014.2-3合刊摘要:首先介绍O

5、penCV中图像类型和函数处理方法,之后通过设计实例描述在VivadoHLS中调用OpenCV库函数实现图像处理的几个基本步骤,阐述从OpenCV设计到RTL转换综合的开发流程。本文网络版地址:http://www.eepw.com.cn/article/233872.htm关键词:可编程;处理器;VivadoHLS;OpenCV;ZynqAPSOCDOI:10.3969/j.issn.1005-5517.2014.2.01174工业控制责任编辑:王莹在OpenCV中,Mat是一个多维的密集数据数组。可以用来处理

6、向量和矩阵、图像、直方图等等常见的多维数据。Mat类型较CvMat与IplImage类型来说,有更强的矩阵运算能力,支持常见的矩阵运算。在计算密集型的应用当中,将CvMat与IplImage类型转化为Mat类型将大大减少计算时间花费。1.2OpenCV中的CvMat与IplImage类型在openCV中,CvMat和IplImage类型更侧重于“图像”,尤其是对其中的图像操作进行一定程度的优化。OpenCV没有向量(vector)的数据结构,但当我们要表示向量时,需要用矩阵数据表示。但是,CvMat更抽象,它的元

7、素数据类型并不仅限于基础数据类型,而且可以是任意的预定义数据类型,比如RGB或者别的多通道数据。在OpenCV类型关系上,我们可以说IplImage类型继承自CvMat类型,当然还包括其他的变量将之解析成图像数据。IplImage类型较之CvMat多了很多参数,比如depth和nChannels。IplImage对图像的另一种优化是变量origin原点,为了弥补这一点,OpenCV允许用户定义自己的原点设置。1.3VivadoHLS中图像数据类型hls::Mat<>VivadoHLS视频处理函数库使用hls::M

8、at<>数据类型,这种类型用于模型化视频像素流处理,实质等同于hls::steam<>流的类型,而不是OpenCV中在外部memory中存储的matrix矩阵类型。因此,在用VivadoHLS实现OpenCV的设计中,需要将输入和输出HLS可综合的视频设计接口,修改为Videostream接口,也就是采用HLS提供的video接口可综合函数,实现AXI4videostre

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。