3

我正在使用 opencv MSER 类,无法编译使用 () 运算符。我不是 C++ 专家,所以在这里发布问题,希望有人能提供帮助。

MSER 类的定义包括一个 () 运算符:

class CV_EXPORTS_W MSER : public CvMSERParams
{
public:
   ...
    void operator()( const Mat& image,
    CV_OUT vector<vector<Point> >& msers, const Mat& mask ) const;
};

使用 MSER 类的代码片段:

Mat yuv;
vector<vector<Point> > contours;
cv::MSER mser;
mser(yuv, contours, cv::Mat());

在 mser() 行,xcode 给我这个错误:

No matching function for call to object of type 'cv::MSER'
4

1 回答 1

2

问题在于这条线

vector<vector<Point> > contours;

将其更改为

vector<vector<cv::Point> > contours;

问题是 Cocoa 框架中已经定义了一个 Point,所以编译器正在寻找一个不存在的操作符版本。

于 2013-05-24T21:56:33.370 回答