已移植到OpenCL的OpenCV功能

大家好!我借这篇文章,分享给大家今年计算机视觉领域里的一些令人兴奋不已的最新进展。特别是最新OpenCV(当前最流行的计算机视觉库)的发布,您的计算机视觉应用程序可以在现代异构计算平台上充分利用CPUGPU的全部计算力。

 

OpenCV 2.4.3开始,到作了重大改进后的OpenCV 2.4.4,至将来发布的各种新版本中,OpenCV都会得到了OpenCL的有力支持。 OpenCV-CL正逐渐地成为功能优异而性能高效的计算机视觉库,且在AMDAPU处理器和GPU显卡上表现出优异性能。

 

下面列举出了一些目前已经移植到OpenCLOpenCV功能,包括即将发布的OpenCV2.4.6的一些功能:

•    OpenCV-CL 二进制下载

•    初始化和信息

•    单个元操作

•    图像变换

•    还原

•    色彩转换

•    丰富的滤波引擎,包括有各种类型的图像滤波器,如高质量图像增强

•    图像的几何转换

•    基于均值漂移的变换,K-means,聚类

•    角特征检测器

•    模板匹配

•    描述符匹配

•    特征检测,Haar, 特征跟

•    特征描述符

•    加速的鲁棒特征(speeded-up robust features, SURF

•    梯度方向直方图(HOG

•    人脸识别 (Viola Jones)

•    光流,如LK, TV L1, Farneback

•    立体声对应:BM, BP, CSBP

•    基于TV L1光流的超分辨率 

 

为有助于开发人员,最新发布的AMD APP SDK2.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开发者网站内,您能找到自己所需的资源,包括利用网站内的社区论坛,帮助自己创建异构计算解决方案。在这个论坛上,您也能分享对OpenCVAMD APP SDK的建议或意见。我们会倾听您的想法,让我们能够不断地改进异构计算的软件开发工具!

 

再者,请积极加入OpenCV论坛为改进OpenCV做出贡献,或从github获取最新、最棒的源代码。请留意更新!我们的目标是借由异构计算使得计算机视觉更快、更方便集成!

 

请尽情享受异构计算带来的全新体验!

 

请在这里下载AMD APP SDK2.8.1。为了更好地使用APP SDK2.8.1,建议您升级驱动程序到AMD Catalyst 13.6 Beta2以上。

 

Harris Gasparakis博士是OpenCV-CL的项目经理,技术负责人和布道者。他的文章表达了他的个人意见,并不完全代表AMD的立场,策略或观点。第三方网站的链接和第三方商标引用仅供方便和说明之用。除非明确说明,AMD不负责这些链接内的内容,并且没有认可或暗示任何其产品。

你可能感兴趣的:(已移植到OpenCL的OpenCV功能)