首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >促进rng vs OpenCV rng vs c++11 std::随机?

促进rng vs OpenCV rng vs c++11 std::随机?
EN

Stack Overflow用户
提问于 2014-07-31 12:27:29
回答 2查看 577关注 0票数 1

这只是一个简单的问题,我需要一些意见。

我同时使用boostOpenCV,我想生成一个随机数。哪个更适合使用:boost::random::uniform_int_distribution (boost随机整数生成器)还是cv::RNG

我写了这封信:

代码语言:javascript
复制
// OpenCV RNG:
cv::RNG rngCV(cv::getTickCount());
int randInt = rngCV.uniform(0, 100); // generates integer number in [0, 100)
std::cout << "cv::RNG: " << randInt << std::endl;

// Boost RNG:
boost::random::mt19937 gen(static_cast<unsigned int>(std::time(0)));
boost::random::uniform_int_distribution<> rngBoost(0, 99);
int randInt2 = rngBoost(gen);
std::cout << "boost::random: " << randInt2 << std::endl;

// c++11 random
std::random_device rd;
std::default_random_engine el(rd());
std::uniform_int_distribution< int > unif_distr(0, 99);
int randInt3 = unif_distr(el);
std::cout << "std::random: " << randInt3 << std::endl;

你建议我做哪一个?两人都工作得很好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-07-31 12:59:09

从C++11开始,标准库中就有一个随机生成器引擎。与C中的旧rand()函数没有任何可比性。有一堆随机分布,您可以指定间隔.

票数 2
EN

Stack Overflow用户

发布于 2014-07-31 12:41:03

boost界面更像是进入标准的内容。因此,如果你计划在某一时刻走这条路线,如果你使用的是boost,它可能更容易改变。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25058844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档