我一直在使用OpenCV 3.0,它与使用CMake 3.5的额外模块相结合。我使用Visual Studio 2012 32bit作为我的IDE。
但是,我似乎无法同时使用KeyLine和BinaryDescriptor。他们给我的错误是"标识符KeyLine未定义"。我已经设置了路径和库设置。
#include <opencv2/opencv.hpp>
#include <opencv2/line_descriptor.hpp>
#include <iostream>
using namespace std;
using namespace cv;
int main( void ) {
Ptr<BinaryDescriptor> bd = BinaryDescriptor::createBinaryDescriptor();// this line gives error
vector<KeyLine> lines; // same as this
}
我已尝试过其他标题,例如tracking.hpp。我能够定义:
Ptr<Tracker> tkr;
没有跟踪器给我错误。
任何人都知道错误是在CMake过程中引起的还是我错过了什么?
答案 0 :(得分:0)
我遇到了同样的问题,偶然发现了你的问题。
我刚刚发现的答案是你必须添加,
using namespace line_descriptor;
在顶部以及cv名称空间。从line_descriptor.hpp源代码中获取此提示。