2017-04-11 100 views
0

我最近开始尝试OpenCv,尤其是与功能检测器(例如。SIFT,SURF ...) 现在我开始研究OpenCL,并且我想问是否有OpenCL “支持”这些功能检测器。OpenCL支持OpenCV featuredetector/deskriptor

虽然“googleing”我发现这个链接1有可能的OpenCL加速功能的问题。但是没有列出特征检测器,只有匹配器。 在github上,我发现了以下代码2,这表明可以使用SURF。 有人知道在OpenCL中实现了哪些Fetectors/Feskriptors吗? (也许如何使用它们)

问候Drian

回答

1

的OpenCL不直接支持任何特征检测器。

OpenCL是不用于图像处理的框架,但一个低级API并行运行算法。因此,它支持许多低级函数,如矢量函数,三角函数和其他低级指令,但不支持特定于域的函数,如检测图像中的特征。

的OpenCV采用的OpenCL通过在GPU上运行他们加速某些操作。

基本上,如果你想用一个高的水平,易于使用的库图像处理,您使用OpenCV的

如果要实现对的CPU,GPU或其他加速器并行执行自己的算法,可以使用的OpenCL

+0

感谢您的回答。所以,如果我想加快例如。 SURF在GPU或任何其他并行处理器上,我需要尝试使用opencv函数+在opencl中实现的自写函数来自己编写代码。或者是有可能为“说opencv's冲浪使用的OpenCL的implemantation加快自己” – Drian

+0

@Drian:Corect,你将不得不自己来实现算法。你不能只是“复制和粘贴”OpenCV源代码,因为算法必须写成并行执行。并行代码被称为内核。这些内核是用C++语言规范的一个子集编写的。 – Marco