多元randn

时间:2018-07-21 10:10:45

标签: c++ opencv random gaussian

我想了解一件事: 我们假设有三个变量(X, Y, Z),我们想计算它们之间的协方差矩阵。 我们得到一个均值和一个协方差。现在,我想使用randn函数从中生成样本。如文档中所述,在randn函数中:

dst - output array of random numbers; the array must be pre-allocated and have 1 to 4 channels.

我的向量dst必须设置为3通道矩阵才能工作。我应该有3个变量(X, Y, Z)来设置吗? 如果我有四个以上的变量,例如:X, Y, Z, W, R, T ... 我该怎么办? 这是我使用的代码:

cv::Mat dst = cv::Mat::zeros(2,2, CV_32FC3);
cv::theRNG().state = cv::getTickCount();
cv::randn(dst, mean, covar);

1 个答案:

答案 0 :(得分:0)

根据opencv文档cv :: randn使用生成数字的均值和标准差。您应该在此生成器中使用sqrt(variance)而不是协方差。