我现在比较Viola-Jones代码在纯C代码和使用openCV函数cvHaarDetectObjects()编写的代码之间的时间性能。
到目前为止,使用纯C代码检测面部所需的时间似乎是使用openCV函数的三倍。即使纯C代码版本使用简化算法。
有人可以给我一个提示吗?
答案 0 :(得分:2)
使用一些分析器来比较两种实现速度,并查看哪个部分存在最大差异。 Very Sleepy是我最喜欢的,但当然不是唯一的一个 - What's the best free C++ profiler for Windows?
可能OpenCV实现速度要快得多,因为它使用(在大多数操作中 - 不仅在Viola-Jones算法中,而且在基本操作中)并行化,处理器扩展如MMX,SSE(不同版本)和优化技巧(通常是相当的)很奇怪 - http://www.beyond3d.com/content/articles/8)。