我注意到OpenCV 3 RC1有一个名为HAL的库,用于加速OpenCV的核心功能。
有什么方法可以使用这个库加速我的代码?
是否有关于如何使用此库的文档/教程/ ...
我想要一种方法来加速我的代码,以便它可以在Intel和ARM处理器上快速运行。
答案 0 :(得分:3)
如果我理解得那么HAL只是一个方便的,类似IPP的低级API,可以为不同的平台加速OpenCV(通过隐藏低级操作,即core,imgproc,... => HAL)并启用硬件供应商实施加速成像和视觉算法。
OpenCV已经有了一些加速API(即并行框架或OpenCL),HAL作为一个新的顺序适合这个序列,HAL主要关注启用移动和嵌入式系统,可以直接由高级库或应用程序使用
可以在cv::hal
命名空间中找到函数集 - 查看已实现函数的HAL module文档。
你不应该关心这些函数,因为它们只是API的(低级)内部部分;在OpenCV 3.0中,它们在一些函数中也被引用,例如cv::magnitude()
在其内部调用cv::hal::magnitude()
。也就是说,如果OpenCV是使用NEON支持构建的,那么您将隐含地受益于HAL。