新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 用OpenCV和Vivado HLS加速基于Zynq SoC的嵌入式视觉应用开发

用OpenCV和Vivado HLS加速基于Zynq SoC的嵌入式视觉应用开发

作者:Fernando Martinez Vallina时间:2014-03-06来源:电子产品世界收藏

处理子系统、FPGA逻辑和外设在Zynq中的高度集成能确保相对于采用分立式组件设计而成的系统而言提高数据传输速率,降低功耗和材料清单成本。我们能用Zynq实现实时处理支持1080p60视频序列(1,920 x 1,080 RGB图像,每秒60)的系统,达到每秒数千亿次运算的处理功能。

本文引用地址:http://www.eepw.com.cn/article/234277.htm

  为了全面利用Zynq的诸多功能与特性,推出了以IP和系统为中心的设计环境设计套件。该套件可加速集成和实现,从而可帮助设计人员提高开发生产力,进而动态开发出Smater嵌入式产品。 HLS作为该套件的一个组件,能帮助设计人员将采用C/C++语言开发的算法编译为RTL,以便在FPGA逻辑中运行。

HLS工具非常适用于嵌入式视觉设计。在此流程中,您用C/C++创建您的算法,再用Vivado HLS将算法或算法的一部分编译为RTL,进而确定哪些函数更适合在FPGA逻辑中运行,哪些函数更适合在ARM处理器上运行。这样,您的设计团队就能集中精力打造出最佳性能的基于Zynq SoC的视觉系统。

加速算法CIP集成

ZYNQ SOC:嵌入式视觉的最明智的选择

  在开发机器视觉应用过程中,设计团队必须选择高度灵活的器件,这一点至关重要。设计团队所需的计算平台应提供强大的通用处理功能,以支持多种不同的软件生态系统,此外还要有稳健可靠的数字信号处理功能,以便实现计算强度高、存储高效的计算机视觉算法。芯片的高度集成对实现高效、完整的系统至关重要。

  图2  高层次综合设计流程

  为了进一步帮助嵌入式视觉开发人员创建 Vision系统,Vivado中增加了对计算机视觉算法库的支持。还推出了最新IP Integrator工具和SmartCORE™ IP以支持此类设计。

OPENCV推广计算机视觉技术

开辟了一条开发智能计算机视觉算法的途径,而且能预测实时性能。该库为设计人员提供了用于算法试验和快速原型设计的环境。

设计框架得到多平台支持。不过在许多情况下,要提高库对嵌入式产品的效率,就需要在嵌入式平台上实现,而且该平台要能够加速高强度例程,满足实时性能要求。

  虽然OpenCV在设计时就考虑到计算效率问题,不过它源自传统计算环境,可支持多核处理。这种计算平台或许对高度强调效率、成本和功耗的嵌入式应用来说并不是最佳选择。

OPENCV的特性

OpenCV是一款基于BSD许可证授权发行的开源计算机视觉库,这就意味着它可免费用于学术和商业应用中。它最初设计旨在提高通用多处理系统的计算效率,侧重于实时应用。此外,OpenCV还提供C/C++Python等多种编程接口。

  开源项目的优势在于,用户能持续改进算法,并将算法扩展用于多种不同应用领域。目前用OpenCV可现实2,500多种功能,其中包括:

矩阵数学

公用设施和数据结构

通用图像处理功能

图像转换

图像金字塔

几何描述符函数

特性识别、提取和跟踪

图像分割与拟合

摄像头校准、立体化和3D处理

机器学习:检测、识别

  图3 OpenCV算法库开发的运动检测应用实例

c++相关文章:c++教程




评论


相关推荐

技术专区

关闭