繁体   English   中英

如何定义和平滑3D cv :: Mat

[英]how to define and smooth a 3D cv::Mat

我创建了一个3D矩阵cv :: mat,它在每个轴(X,Y和Z)上都包含0到255之间的值,如下所示:

int sizes[] = { 100, 100, 100 };
Mat *matrix;
matrix = new Mat(3,sizes, CV_32FC1, cv::Scalar(0));
for(int i=0;i<100;i++)
    for(int j=0;j<100;j++)
        for(int k=0;k<100;k++){
            //some values are 255
            matrix->at<float>(i,j,k) = 0;
            // and some of them are 255 : (TODO) 

        }

现在我想平滑整个3D矩阵,如何使用opencv lib做到这一点?

任何帮助将不胜感激,

我不会使用new Mat()来初始化OpenCV Mat。 不需要这个。 完成矩阵操作后,您也有忘记忘记释放矩阵的风险。

只需使用:

Mat matrix(3,sizes, CV_32FC1, cv::Scalar(0));

至于创建3D矩阵,您可以在此处找到一个很好的示例

如果您希望使用高斯滤波器对3D矩阵进行滤波,则可以在此处找到一个简单的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM