我正在从opencv 2.4.11
升级到3.0.0
我在代码中使用了cv::vector
<br>
但现在我收到了错误
矢量不是'cv'的成员
我将开始使用std::vector
代替<br>
但是我找不到它被移除或只是移动到另一个头文件?
答案 0 :(得分:16)
在3.0之前的OpenCV中,您可以在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;
...
因此,您也可以通过std::vector
命名空间访问cv
,如:
cv::vector
事实上,内部OpenCV引用std::vector
就像vector
一样。
在OpenCV 3.0中,#using std::vector
不存在,内部OpenCV始终指向std::vector
。
您可以使用cv::vector
将其添加到您的代码中:
namespace cv
{
using std::vector;
}