我正在开发一个用C ++编写的系统,用于比较视频(windowsize)中动态帧数的动态感兴趣区域数(ROI)。出于这个原因,我正在使用Mat的二维向量,声明和启动如下:
vector< vector<Mat> > ROIvector(numberofROI,vector<Mat>(windowsize));
向量用以下视频中的Mat填充:
for(int i=0;i<windowsize;i++)
{
video>>frame;
if(frame.empty())
{
break;
}
for(int j=0;j<numberofROI;j++)
{
Mat temp;
frame(ROIRectVector[j]).copyTo(temp);
ROIvector[j].push_back(temp);
}
}
但每当我尝试访问单个Mat时,例如ROIvector [0] [3],openCV会抛出此类型的异常。
OpenCV Error: Bad flag (parameter or structure field) (Unrecognized or unsupported array type) in cvGetMat, file C:/slave/WinInstallerMegaPack/src/opencv/modules/core/src/array.cpp, line 2482
我以同样的方式访问Mat的一维向量时遇到麻烦,二维问题是否存在问题?