OpenCV 2.X 和 OpenCV 3.X的区别是什么?

原文链接
运行测试平台:小强ROS机器人

尽管3相对与2有一些功能上的增加,但是3和2最大的区别还是在速度上。
最关键的不同在于OpenCV 3.x的API。几乎所有的OpenCV 3.X 方法都采用OpenCL加速了。所以所有的能够在GPU上运行的方法在性能上都会有10% - 230%的提升。你的代码所需要做的修改只是用UMat替换Mat。如果你想要在OpenCV 2.X 里面提升性能,你就要分别的触发 cv::ocl::* or cv::gpu::*这些方法才行。

如果你是Java开发者那就更好了,现在已经有经过包装的Java类可以使用了。

内部组件的结构也发生了改变,但是从开发者的角度来说,只要修改对应的头文件就可以了。

所以用3.X更好,3.X和2.X是不兼容的,不过可以很容易的移植过去。

你可能感兴趣的:(技术交流)