gpt4 book ai didi

c++ - 保持 OpenCV 2 和 OpenCV 3 之间的代码兼容性

转载 作者:可可西里 更新时间:2023-11-01 17:39:06 27 4
gpt4 key购买 nike

我的库目前使用 OpenCV 2。现在,我正在尝试编译库以使用 OpenCV 3。似乎移动了一些头文件并且重命名了一些常量。例如,CV_INTER_LINEAR 未在 OpenCV 3 中定义。

由于我的库需要在 OpenCV 2 和 3 上编译和运行,有什么简单的方法可以克服这种不兼容性吗?
我可以更改我的代码,但它在 OpenCV 2 中不起作用。

最佳答案

几个月前我遇到了同样的问题,我不得不反驳 Kiran:我有一个相对较大的项目要同时使用 OpenCv 2 和 3 进行构建。能够同时使用 2 和 3 进行构建在一个项目中非常重要过渡阶段,特别是因为 OpenCV 3 还不是稳定版本,但具有惊人的优化功能。

cv::INTER_LINEAR 不是在 OpenCV 2( header imgproc/imgproc.hpp)和 3 中都定义了吗?您必须替换一些常量名称,添加一些包含物,但这不会太难。

关于 header 包含,有一种方法可以找到与 Opencv2 和 3 兼容的包含路径。

来自link Kiran posted :

In OpenCV 3 we write

#include "opencv2/core.hpp"

instead of

#include "opencv2/core/core.hpp"

The old method should also work.


更新
new Release Candidate , it's reported他们改进了 OpenCV 2.4 和 3.x 之间的兼容性

Improved compatibility with OpenCV 2.4:

  • 2.4.11 now includes "opencv2/core.hpp" and other such headers in addition to standard "opencv2/core/core.hpp".
  • smart pointers (Ptr<>) can now be created in both 2.4 and 3.0 style (new ClassName(params) vs makePtr(params))
  • trained and stored stat models from opencv_ml 2.4 can now be loaded and used by opencv_ml 3.0 as-is.
  • the 2.4=>3.0 transition guide has been sketched: http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html

关于c++ - 保持 OpenCV 2 和 OpenCV 3 之间的代码兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29750616/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com