OpenCV在不同语言中的性能
我正在做一个业余项目,使用OpenCV来处理实时摄像头数据。我在想,当我把这些都搞定后,是否值得花时间用C或C++重新实现一遍,还是说这样做不会带来明显的性能提升。这个程序基本上是把OpenCV的函数串在一起,所以主要的工作其实应该在原生代码里完成。
2 个回答
0
OpenCV以前使用了一种叫做IPP的技术,这种技术运行得非常快。不过,从OpenCV 2.0开始,它就不再使用IPP了。如果你想的话,可以自己调整OpenCV,让它使用IPP,比如在颜色转换的功能上。
5
你自己已经很好地回答了这个问题。大部分耗费计算资源的部分应该是在OpenCV库里面,所以和你用什么编程语言关系不大。
如果你真的很在意效率,可以对你的代码进行性能分析,确认一下情况是否确实如此。如果需要的话,你自己写的处理函数可以用C/C++编写,然后通过你选择的方法(比如boost-python)在Python中使用,这样就能保持同样的效率。
不过根据我的经验,Python作为一个“组合”工具,使用起来完全没问题。