我想了解一件事:
我们假设有三个变量(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);
答案 0 :(得分:0)
根据opencv文档cv :: randn使用生成数字的均值和标准差。您应该在此生成器中使用sqrt(variance)而不是协方差。