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

2024-03-24

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

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


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

Isn't cv::INTER_LINEAR两者均在 OpenCV 2 中定义(标头imgproc/imgproc.hpp)和3?您必须替换一些常量名称,添加一些包含内容,但这不会太难。

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

来自基兰发布了链接 http://code.opencv.org/projects/opencv/wiki/ChangeLog#30-alpha:

在 OpenCV 3 中我们写

#include "opencv2/core.hpp"

代替

#include "opencv2/core/core.hpp"

旧方法应该也有效。


Update
In the 新候选版本 http://opencv.org/downloads.html, 据报道 http://code.opencv.org/projects/opencv/wiki/ChangeLog他们改进了 OpenCV 2.4 和 3.x 之间的兼容性

改进了与 OpenCV 2.4 的兼容性:

  • 除了标准“opencv2/core/core.hpp”之外,2.4.11 现在还包括“opencv2/core.hpp”和其他此类标头。
  • 智能指针 (Ptr) 现在可以以 2.4 和 3.0 样式创建(new ClassName(params) 与 makePtr(参数))
  • 训练并存储的统计模型 opencv_ml 2.4 现在可以由 opencv_ml 3.0 按原样加载和使用。
  • 这 2.4=>3.0 过渡指南已经勾勒出来:http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html http://docs.opencv.org/master/db/dfa/tutorial_transition_guide.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保持 OpenCV 2 和 OpenCV 3 之间的代码兼容性 的相关文章

随机推荐

  • 如何可靠地获取 C 风格数组的大小?

    如何可靠地获取 C 风格数组的大小 经常推荐的方法似乎是使用sizeof 但它不起作用foo函数 其中x传入 include
  • std::cin 用于双精度和字符串

    我正在做货币兑换练习 程序应从输入流中读取货币的金额和名称 并以本国货币返回其值 double amount 0 0 std string currency std cout lt lt Please enter amount and cu
  • 此 Blade 卫生系统是否正常工作(双花括号与三花括号)?

    很抱歉 这很可能是我自己的误解 而不是实际存在的问题 我对 Laravel 和 Blade 模板相当陌生 我正在尝试输出从Input get 然而 当我通过双花括号和三花括号输出字段时 输出之间似乎没有区别 这是我的观点的摘录 data I
  • 如何模拟作为函数的 Angular 服务?

    我们有一个所谓的CORShttpService 这基本上是一个包装 httpservice 但是封装了一些我们需要的CORS功能 我现在正在为具有以下功能的服务编写一些测试CORShttpService注入其中 该服务的代码如下 CORSh
  • 如何在 Kotlin 中使用堆栈?

    如何在 Kotlin 中使用 Stack 来自 java 或者还有其他替代方案吗 我正在尝试将列表转换为堆栈 科特林 1 3 70介绍了kotlin collections ArrayDeque https kotlinlang org a
  • 来自 Node.js BigQuery 客户端库的更详细错误消息

    我用的是官方的与 BigQuery 的 Google Node 连接器 https github com googleapis nodejs bigquery 我有以下片段将记录流式传输到数据库中 module exports sendTo
  • 在 Angular JS 中解码 HTML 实体

    如何使用 Angular JS 解码文本中的 HTML 实体 我有字符串 quot 12 10 On Going Submission of quot quot Made Up quot quot Samples quot 我需要一种使用
  • Android Jack 编译器未从 proguard 规则中删除日志

    我尝试过使用 assumenosideeffects class android util Log public static boolean isLoggable java lang String int public static in
  • canvas ImageData 删除白色像素

    我有一些 html 图像有白色背景 我需要删除白色背景 我想我可以使所有白色像素透明 但我不知道该怎么做 我只想使用 html javascript 这是如何做到的 function white2transparent img var c
  • Spring IOC 和 Spring AOP 的区别

    有什么区别春季国际奥委会 and 春季AOP以及它们的重要性 您在网上搜索过 IoC 和 AOP 吗 有一个lot对两者的引用 简而言之 IoC 允许外部力量来决定代码将使用什么实现 而不是由代码决定实现 外力 可能是配置文件 单元测试 其
  • 为什么从 Unicode 字符集中删除了 U+D800 到 U+DFFF 范围内的代码点?

    我正在学习UTF 16编码 并且我读到如果你想表示U 10000到U 10FFFF范围内的代码点 那么你必须使用代理对 其范围在U D800至 U DFFF 假设我想对以下代码点进行编码 U 10123 二进制为 1000000010010
  • Python 中的随机数生成方法有何不同?

    生成随机数int在 Python 中 0 到 10 之间 我可以执行以下任意操作 import numpy as np print np random randint 0 10 or import random print random r
  • Google 关于推送通知的回应

    我正在创建一个用于 Google 日历集成的应用程序 当任何人手动更改 Google 日历事件时 我试图从 Google 获取通知 因此 我们在 Google 和我的应用程序之间创建了一个通道 现在的问题是 当 google 将响应标头发送
  • 如何编写通用方法来查找最大元素并调用该方法?

    当我试图解决运动问题时来自泛型教程问答 http docs oracle com javase tutorial java generics QandE generics answers html我的答案略有不同 我的回答 public s
  • 完成调试/编码后,如何处理 print()

    致Python专家 我使用了很多 print 来检查变量的值 完成后 我需要删除 print 它非常耗时并且容易出现人为错误 想了解一下你们如何处理 print 是编码时删除还是最后删除 或者有一种方法可以自动删除它或者您不使用 print
  • AngularJS 中的 Rails 路由参数

    我正在尝试构建一个不使用 ngView 的 AngularJS Rails 多页面应用程序 基本上 我想在我的 Rails 应用程序中使用 Angular 的数据绑定和其他功能 同时仍然拥有由我的 Rails 路由确定的视图 到目前为止 它
  • 分别计算每列的不同值

    我可以计算每列的不同值而不枚举它们吗 假设我有一张桌子col1 col2 col3 并且没有其他列 在不明确提及这些列的情况下 我希望得到与以下相同的结果 SELECT count distinct col1 as col1 count d
  • 不同航线如何使用相同的护照策略?

    假设我有这样的代码 var api1 require api1 var api2 require api2 var app express app use api1 api1 app use api2 api2 这是 api1 模块的代码
  • 斯坦福 NLP - VP 与 NP

    我有一个例子 斯坦福 NLP 为句子输出了一个奇怪的解析树 Clean my desk ROOT NP NP JJ Clean NP PRP my NN desk 正如你所看到的 它标记了这个词Clean作为依赖于动词的形容词desk整个短
  • 保持 OpenCV 2 和 OpenCV 3 之间的代码兼容性

    我的库当前使用 OpenCV 2 现在 我正在尝试编译该库以使用 OpenCV 3 似乎一些头文件被移动 一些常量被重命名 例如 CV INTER LINEAROpenCV 3 中未定义 由于我的库需要在 OpenCV 2 和 3 上编译和