Opencv push_back function in Mat

Opencv push_back function in Mat

本文关键字:in Mat function back push Opencv      更新时间:2023-10-16

我遇到了严重的问题。

class Set 
{ 
  Point_<int> point;    
  int val; 
  double *module; 
}; 
Mat m;
Set s;
m.push_back(s);

请参阅函数模板实例化'void cv::Mat::push_back(const _Tp &)'正在编译当我添加后push_back它带给我:参考类模板实例化'cv::Mat_<_Tp>'正在编译

必须承认我不熟悉OpenCV,但是从这个文档中推断,Mat类的push_back成员函数似乎是一个模板函数,它需要知道你要"推回"的对象的类型。所以可以试试这个:

m.push_back<Set>(s);

如果不行,最后一个建议是

Mat<Set> m;
Set s;
m.push_back(s);

你可以写

#include<vector>
class Set 
{ 
  Point_<int> point;    
  int val; 
  double *module; 
}; 
std::vector<Set> m;
Set s;
m.push_back(s);

我不认为你可以push_back任何不是OpenCV基本类型的东西。为什么不直接使用STL容器?