Balloon-popping:一个基于Zynq架构,OpneCV库的目标跟踪系统

Balloon-popping:一个基于Zynq架构,OpneCV库的目标跟踪系统

清风流云 FPGA开发圈

1999年,Intel建立了OpenCV库(Open Source Computer Vision library),如今由Willow Garage提供支持。它是一个基于BSD许可的开源发行的跨平台计算机视觉库,可以运行在Linux,Windows和Mac OS操作系统上。OpenCV是由一系列C函数和少量的C++类构成,轻量级而且高效,还提供了Python、Ruby、MATLAB等语言接口,实现了图像处理和计算机视觉方面的很多通用算法。由于它主要是用C++语言编写,所以接口也是C++语言,不过依然保留了大量的C语言接口。所以这些语言的API接口都可以通过在线文档获得。现在OpenCV还提供了对C#,Ch的支持,同时在2010年实现了使用CUDA的GPU接口。

现在,OpenCV已经广泛的应用在人机互动、物体识别、图像分割、人脸识别、动作识别、运动跟踪、机器人、机器视觉以及汽车安全驾驶等几乎所有涉及图像处理的领域中。

Balloon-popping目标追踪系统

在创意网站Intructables上有一个不太可能实现的新设计,它利用一块价值189美刀的Digilent ZYBO训练板卡(此板卡为Xilinx Zynq Z7010 SoC架构),并在板卡上安装网络摄像头,来追踪气球,当摄像头看到气球时,控制一个高功耗半导体激光器发射激光到气球上(即命中目标气球),而且整个系统软件代码基于OpenCV库编程来实现。

下图所示为上述系统的激光器结构:
Balloon-popping:一个基于Zynq架构,OpneCV库的目标跟踪系统

同时,在创意网站Intructables网站上有关于此系统的一个一分钟的视频演示(详见 http://www.instructables.com/id/Laser-Balloon-Destroyer-With-Digilent-Zy... ),同时还有关于此系统的详细实现步骤,如果比较感兴趣,手边刚好有一块Xilinx Zynq SoC架构的开发板,不妨动起手来做一个这样的系统。

此外,最有趣的是,这个系统的实现告诉我们一个事实,那就是即使是最小的Zynq SoC都可以应用到先进的嵌入式视觉系统中,当然在Xilinx推出的基于Xilinx芯片和工具实现嵌入式视觉系统中,我们可以知道更多的关于嵌入式视觉开发信息。

总结

现如今,我们越来越希望给机器提供一种不仅可以看到现实世界,同时可以感知现实世界,并且可以区别出现实中的独特个体的能力,这种能力的实现给下一代智能机器的架构设计以及投入市场带来了极大挑战。因为不仅要完成大量的不同传感器(类似视频、视觉I/O)和多种图像处理管道的集成,嵌入式系统实时分析数据也是一项十分复杂的任务。所以,要完美实现这些功能,就需要软硬件紧密配合,协作工作。也正是这些迫切的需要,Xilinx开发团队在他们的下一代系统中开发出Zynq SoC和MPSoC这样软硬件兼具的芯片架构来,不仅可以减轻开发压力,更是加速了产品生产力。

猜你喜欢

转载自blog.51cto.com/15057847/2675306
今日推荐