OpenCV 的最新版本显示 2.4.11 ,2015年2月更新,然后是 3.0.0 ,处于测试阶段。它们之间有什么区别。我应该使用OpenCV 2.4.11而不是3.0.0,因为我在3.0.0中遇到了一些错误。他们的发布如何运作?
答案 0 :(得分:42)
虽然OpenCV 3.0中有新功能(如文本检测,KAZE检测器),但对于大多数开发人员来说,这种比较与功能无关。这是关于速度。除非您立即投入生产,否则我建议您使用OpenCV 3.0。此外,这远非冒险。
UMat
您曾使用的Mat
。样品(1)。如果您在OpenCV 2.4。*中需要此性能,则必须明确调用cv::ocl::*
或cv::gpu::*
方法。关于发布周期,快速浏览OpenCV github repo(2)显示,pull请求主要进入OpenCV 3.0的master分支。所以我假设,主要的错误修复可以被反向移植到2.4。*分支。
有关更多信息,请阅读差异(3)和(4)。关于您在3.0测试版中遇到的错误,如果您可以在OpenCV问题页面(5)上使用最小的完整运行示例来提升它们,那么它可能会有所帮助。
答案 1 :(得分:12)
3.0.0应该带来许多新功能,但它目前是测试版而不是正式版(可能不稳定)。最后的官方稳定版本是2.4.11。
如果您在2.4.11中没有检索到功能,或者您喜欢冒险(3.0.0beta很棒且最终版本即将推出),请使用3.0.0。如果您想要安全性而无需额外需求,请使用2.4.11。
答案 2 :(得分:8)
除了上面提供的答案之外,另一个重要区别是SIFT / SURF特征检测已从默认的openCV 3.0软件包中删除。 由于它们已获得专利,openCV已将“非自由”算法转移到另一个包中:
opencv_contrib