Jak zerować elementy 3D Matrix z biblioteką opencv?

Walczę z zerowaniem elementów macierzy 3D za pomocą opencv. Mogę wyzerować wszystkie elementy w macierzy 2D w następujący sposób:

meta = new Mat(Mat::zeros(cluster,3,CV_32S));

Próbuję użyć podobnego sposobu inicjalizacji elementów z 0 w matrycy 3D, ale nie udaje się.

block = new Mat(Mat::zeros(3,dim,CV_32F));

Komunikat o błędzie:

1>MatrixOp.obj : error LNK2019: unresolved external symbol "public: static class cv::MatExpr __cdecl cv::Mat::zeros(int,int const *,int)" (?zeros@Mat@cv@@SA?AVMatExpr@2@HPBHH@Z) referenced in function "public: __thiscall MatrixOp::MatrixOp(char *)" (??0MatrixOp@@QAE@PAD@Z)

Mam ostatni sposób na zainicjowanie macierzy. Przemierzaj macierz i ustaw wartość elementu 0. Ale wydaje się, że jest trochę pracy.

for(int i=0;i<value_num;i++)
    for(int j=0;j<frame_no;j++)
        for(int k=0;k<cluster;k++)
            block->at<float>(i,j,k) = 0;

Czy ktoś może rzucić mi lepsze pomysły? Dzięki.

questionAnswers(1)

yourAnswerToTheQuestion