OpenCV ile sayılar oluşturmak için bu işleve argümanlar geçmek nasıl bilmiyorum ayrıca randn() fonksiyonu ve bir RNG sahiptir sınıf. Aşağıda değiştirmek istediğiniz Matlab kodu ve eşdeğer OpenCV kodu var.
Matlab:
matrix2xN = randn(2,N)
OpenCV:
cv::Mat mean = cv::Mat::zeros(1,1,CV_64FC1);
cv::Mat sigma= cv::Mat::ones(1,1,CV_64FC1);
cv::RNG rng(optional_seed);
cv::Mat matrix2xN(2,N,CV_64FC1);
rng.fill(matrix2xN, cv::RNG::NORMAL, mean, sigma);
veya Dahili
cv::Mat mean = cv::Mat::zeros(1,1,CV_64FC1);
cv::Mat sigma= cv::Mat::ones(1,1,CV_64FC1);
cv::randn(matrix2xN, mean, sigma);
, OpenCV uygulayan
randn()
kullanılarak.
randn()
kullanılıyorsa dezavantaj, tohum üzerinde kontrolü kaybetmenizdir. Yukarıdaki
matrix2xN
numaralı telefonun birden fazla kanalı olması durumunda, her bir kanal için farklı bir ortalama/sigma kullanılmıştır. Bu durumda, matrix2xN'deki kanal sayısını eşleştirmek için ortalama ve sigma satır sayısını (veya cols) artırmanız gerekir.
Bu cevap için teşekkürler. +1. Bir sidenote olarak, API tasarımında, ortalama veya standart sapmayı belirtmek için sadece bir elemanın bir cv :: Mat'ı belirtmek zorunda kalması savurgan görünmektedir ... skalar veya cv :: Skallar yerine daha uygun olabilir mi? Tuhaf. – rayryeng