1

ビデオ(ウィンドウサイズ)のフレームの動的数の関心領域(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 次元ベクトルに問題はありますか?

4

0 に答える 0