ビデオ(ウィンドウサイズ)のフレームの動的数の関心領域(ROI)の動的数を比較するためのシステムをC ++で開発しています。このため、次のように宣言および開始される Mat の 2 次元ベクトルを使用しています。
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);
}
}
しかし、ROIvector[0][3] などの単一の Mat にアクセスしようとすると、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 の 1 次元ベクトルにアクセスするときに問題はありませんが、2 次元ベクトルに問題はありますか?