作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有以下代码:
Scalar m; //Scalar is a class for a 4 variable vector. m is its instance.
Scalar std;
meanStdDev(hist, m, std);
它运行良好,但不适用于以下情况。
vector < float > m;
vector < float > std;
meanStdDev(hist, m, std);
我无法理解这个问题,因为我在这里也创建了一个 vector ,就像在 Scalar 的情况下一样。请解释。
最佳答案
这里有2个问题:
1) 它需要固定大小的东西。
2) 你的 vector 最初是空的
您可以使用 Scalar、(预分配的)Mat 或 Vec4d,但不是 std::vector。
Mat hist(10,1,CV_32F);
randu(hist,1,100);
cerr << hist << endl;
{
Scalar m, stdv;
meanStdDev(hist, m, stdv);
cerr << m << " " << stdv << endl;
}
{
Mat m(1,4,CV_64F),stdv(1,4,CV_64F);
meanStdDev(hist, m, stdv);
cerr << m << " " << stdv << endl;
}
{
Vec4d m,stdv;
meanStdDev(hist, m, stdv);
cerr << m << " " << stdv << endl;
}
[53.497997;
20.72666;
40.704884;
81.624123;
44.276165;
25.63018;
77.537399;
76.447281;
31.471653;
70.540741]
[52.2457, 0, 0, 0] [21.8056, 0, 0, 0]
[52.245703125] [21.80564409388921]
[52.2457, 0, 0, 0] [21.8056, 0, 0, 0]
关于c++ - meanStdDev 函数中的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30523087/
我有以下代码: Scalar m; //Scalar is a class for a 4 variable vector. m is its instance. Scalar st
我是 OpenCV 和 C++ 的新手(如果在 MATLAB 和 LabView 上进行图像处理,那么现在就学习它)。 我遇到了一个奇怪的问题,想征求您的意见。我正在尝试做一件相当简单的事情:在灰度图
我想找到 GPUMat 的平均像素值和标准偏差,并在 GPU 上进行缩减,而不是必须下载图像并在 CPU 上计算平均值(因为这会大大降低我的应用程序速度) .问题是,我正在处理的 GpuMat 图像是
我正在为 ios 平台开发一个 opencv 应用程序。我自己编译了 opencv 用于调试和发布方案,但是当我尝试使用调试方案运行 cv::meanStdDev 函数时,应用程序失败并出现异常(使用
我是一名优秀的程序员,十分优秀!