我正在使用OpenCv 2.4.3。我只是从他们的网站下载了它,并使用了他们所做的构建。我不想自己从源代码开始构建它。无论如何,在我的机器中,haar分类器在检测人脸方面的性能非常慢。在另一台机器上,我的朋友运行得很好。(他在cmake上使用TBB和IPP支持从源代码构建)。
尽管在发布中他们说:"在MacOSX, iOS和Windows上你不再需要TBB了。顺便说一句,Windows的二进制包现在是在没有TBB支持的情况下构建的。Visual Studio 2010中的库和dll使用了并发框架。"
我不太了解这些TBB和IPP。我唯一理解的是,使这些东西可用将使多线程和并行成为可能,从而加快我的程序。
我需要用cmake、TBB、IPP等等编译源代码吗?还是我还遗漏了什么?什么好主意吗?
他们所说的是,他们以一种不需要TBB的方式编译预构建的二进制文件,因为他们使用另一种并发框架。因此,如果您不想干预库的设置,您可以使用预构建的版本,而不会牺牲性能。但这是在Windows、iOS和MacOS上。
性能也可能取决于机器的参数(你知道,级联是耗电的),所以如果你的朋友有一台更强的机器,他可能会得到更好的结果,而你正在操作的操作系统,但我不能告诉你哪个是最好的,因为我没有在Linux以外的任何东西上尝试过OpenCV