我需要从openCV类继承。目的-添加自定义指标。

#include "opencv2/core/core.hpp"
#include "opencv2/features2d/features2d.hpp"

class SomeChild : public BFMatcher
{
public:
    SomeChild(int _normType, bool _crossCheck);
    ~SomeChild();
    void knnMatchImpl( const Mat& queryDescriptors, vector<vector<DMatch> >& matches, int k, const vector<Mat>& masks=vector<Mat>(), bool compactResult=false );
};

我收到一个错误:
error C2504: 'BFMatcher' : base class undefined

在openCV代码中,该类被定义为
class CV_EXPORTS_W BFMatcher : public DescriptorMatcher

哪里
#define CV_EXPORTS_W CV_EXPORTS
#if (defined WIN32 || defined _WIN32 || defined WINCE) && defined CVAPI_EXPORTS
#  define CV_EXPORTS __declspec(dllexport)
#else
#  define CV_EXPORTS
#endif

为什么会出现此错误,我需要怎么做才能使其正常工作?

谢谢

最佳答案

您是否在使用'cv' namespace ?还是更好的cv::BFMatcher?

class SomeChild : public cv::BFMatcher

关于c++ - 从OpenCV类继承-编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19824765/

10-10 15:12