OpenCV: ошибка: нет совпадения для вызова '(cv :: Mat) (int &, int &)'

0

Я хочу отобразить фундаментальную матрицу, но я получил такую ошибку: error: no match for call to '(cv :: Mat) (int &, int &)'

Вот мой код:

vector<Point2f> imgpts1,imgpts2;
    for(unsigned int i=0;i<matches.size();i++)
    {
        imgpts1.push_back(keypoint1[matches[i].trainIdx].pt);
        imgpts2.push_back(keypoint2[matches[i].trainIdx].pt);
    }
    //Mat fundamental=Mat(3,3,CV_32F);
    Mat fundamental=findFundamentalMat(imgpts1,imgpts2,FM_RANSAC,3,0.99);

cout<<"fundamental:"<<endl;
    for(int i=0;i<fundamental.rows;i++)
    {
        for(int j=0;j<fundamental.cols;j++)
        {
            cout<<fundamental(i,j)<<" ";
        }
        cout<<endl;
    }
  • 0
    Какова подпись Mat::operator() ?
Теги:
opencv

1 ответ

1

Я нашел способ решить проблему:

Mat fundamental=findFundamentalMat(imgpts1,imgpts2,FM_RANSAC,3,0.99);
    cout<<"fundamental="<<endl<<" "<<fundamental<<endl;
  • 0
    +1 я ошибся Я думал, что вы вызываете метод оператора.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню