【发布时间】:2025-11-25 00:00:03
【问题描述】:
我正在努力使用 opencv 将 3D 矩阵的元素归零。 我可以像以下方式将二维矩阵中的所有元素归零:
meta = new Mat(Mat::zeros(cluster,3,CV_32S));
我尝试使用类似的方式在 3D 矩阵中使用 0 初始化元素,但失败了。
block = new Mat(Mat::zeros(3,dim,CV_32F));
错误信息:
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)
我得到了最后一种初始化矩阵的方法。遍历矩阵并将元素值设置为 0。但这似乎有点费力。
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;
谁能给我一个更好的主意? 谢谢。
【问题讨论】: