gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-04 13:50:32 25 4
gpt4 key购买 nike

我创建了一个 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。没有这个必要。您还冒着在完成 Matrix 后忘记释放它的风险。

只需使用:

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

关于创建 3D 矩阵,您可以找到一个很好的例子 here

如果你想用高斯滤波器过滤 3D 矩阵,你会找到一个简单的例子 here

关于c++ - 如何定义和平滑 3D cv::Mat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23592226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com