我正在使用 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'

最佳答案

问题出在这一行

vector<vector<Point> > contours;

将其更改为
vector<vector<cv::Point> > contours;

问题是 Cocoa 框架中已经定义了一个 Point,因此编译器正在寻找不存在的运算符版本。

关于opencv - opencv的mser的()运算符如何使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11586499/

10-13 08:54