刚刚浏览新闻,发现一篇不错的文章,推荐给大家,原文请访问
这里
从OpenCV 2.4.3版本开始,到做了重大改进的OpenCV 2.4.4,以及未来还会有持续的发展,OpenCV开始支持OpenCL。
OpenCV-CL将成为加速机器视觉应用开发的一个选择,可以让开发者重复充分利用AMD APU和GPU的高性能。
一些 OpenCV的重要特性已经移植到OpenCL上(包含即将发布的OpenCV2.4.6版本的一些功能),包括:
• OpenCV-CL二进制下载,
• 初始化 & 信息,
• Per-element 操作,
• 图像转换,
• 缩图,
• 颜色转换,
• 丰富的过滤引擎,具有广泛的图像滤镜,包括高品质的图像增强,
• 几何图像转换,
• 基于均值漂移的转换,K-means clustering,
• Corner detectors,
• 模板匹配,
• 描述符匹配,
• 特性检测、Haar、 GoodFeaturesToTrack ,
• 特性描述符
• Speeded Up Robust Features (SURF),
• Histograms of oriented gradients (HOG),
•人脸检测 (Viola Jones),
• 光流 (LK, TV L1, Farneback),
• 立体匹配: BM, BP, CSBP,
• 基于 TV L1光流的超高分辨率
为有助于开发人员,最新发布的AMD APP SDK(2.8.1版)带有两个OpenCV- CL例子。例子程序“Hello World”验证OpenCV- CL可否在您的系统中工作;互操作示例程序演示在不需要OpenCL管道的情况下,如何利用程序开发人员用自己编写的OpenCL内核扩展OpenCV- CL!
下面简要地介绍这个实现过程:
OpenCV-CL是非常灵活的,可依照程序员的需要,尽可能多地或尽可能少地展现出OpenCL。即使具有很少或者根本没有OpenCL开发经验的程序员,也能简单地调用支持OpenCL功能的cv:: OCL模块,而无需了解或者编写一行OpenCL API或OpenCL内核代码。无论他使用的是APU中集成的GPU,还是独立显卡上的GPU,他的程序都能受益于GPU提供的优异的计算能力。事实上,你可以研究cv:: OCL模块中的OpenCL例子程序,去学习如何在计算机视觉应用问题中使用OpenCL。对于熟悉OpenCV并且具有丰富的开发经验的程序员,我们也给他们一个惊喜:他们可以利用OpenCV- CL的基础架构,获得免费的OpenCL支持轻松的使用OpenCL功能(仅仅只需要他们添加使用一行代码而已)。然后,程序员可将自己的内核程序插入OpenCV-CL框架,就可以扩展该框架,而无需重新做编译工作。 AMD特意在APP SDK2.8.1中引入这个互操作功能例子,就是为了说明这个过程是多么容易!
在AMD开发者网站内,您能找到自己所需的资源,包括利用网站内的社区论坛,帮助自己创建异构计算解决方案。在这个论坛上,您也能分享对OpenCV或AMD APP SDK的建议或意见。我们会倾听您的想法,让我们能够不断地改进异构计算的软件开发工具!