【问题标题】:openCV 3.0.0 cv::vector missingopenCV 3.0.0 cv::vector 丢失
【发布时间】:2016-01-28 19:16:45
【问题描述】:

我正在从opencv 2.4.11 升级到3.0.0 我在我的代码中使用了cv::vector <br> 但现在我得到了错误 向量不是 'cv'

的成员

我将开始使用std::vector 而不是<br> 但是我找不到它被删除或只是移动到另一个头文件的任何地方?

【问题讨论】:

  • cv::vector 这不是 OpenCV 类型。我很确定你刚刚使用了 std::vector 看穿了 cv 命名空间
  • @Miki 你是什么意思有一个名为 cv::vector 的类型...

标签: c++ opencv opencv3.0


【解决方案1】:

在 OpenCV 3.0 之前的版本中,您可以在 core.hpp 的开头看到 OpenCV 在内部使用 std::vector

#ifndef __OPENCV_CORE_HPP__
#define __OPENCV_CORE_HPP__

...
#include <vector>
...

/*! \namespace cv
    Namespace where all the C++ OpenCV functionality resides
*/
namespace cv {
...
using std::vector;
...

所以您也可以通过cv 命名空间访问std::vector,例如:

cv::vector

实际上,OpenCV 在内部引用 std::vector 就像 vector 一样。

在 OpenCV 3.0 中,#using std::vector 不存在,OpenCV 内部始终引用 std::vector

您将能够使用 cv::vector 将其添加到您的代码中:

namespace cv
{
    using std::vector;
}

【讨论】:

  • 他们是否排除了 cv::vector 的使用,以前版本中用于编译的内容
  • 仍然得到:'Vec3f' 未在此范围内声明
  • @sqp Vec3f 与向量不同。你试过 cv::Vec3f 吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-02-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-01
  • 2017-12-01
  • 1970-01-01
相关资源
最近更新 更多