博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenCV中的随机数生成
阅读量:5057 次
发布时间:2019-06-12

本文共 635 字,大约阅读时间需要 2 分钟。

产生随机数有很多方法
首先是自己构造RNG的方法
RNG()
RNG(uint16 state)
后一个带state参数的构造器可以指定初始状态,类似C++中srand的种子
如果state=0,则回到前一个默认构造器
构造好之后可以使用RNG对象很多方法来获取随机数
比较常用的比如
//均匀分布,高斯分布的随机数
RNG::uniform

RNG::gaussian

//均匀分布或高斯分布填充矩阵

RNG::fill

//括号运算符获取下一个整型

unsigned int RNG::operator()

//强制类型转换获取下一个随机数
RNG::operator ushort()
RNG::operator double()
……
其次是使用theRNG()获取默认的RNG对象

经测试,theRNG()与默认构造器RNG()构造出来的对象是一样的

不构造RNG对象直接使用
randu
randn
两个函数获取或填充矩阵时,使用的就是默认的RNG对象
使用默认RNG对象的一个特点是,每次运行时构造出来的随机数都是一样的

这个有利有弊,每次构造出来的随机数一样有助于程序测试

如果要求每次构造出来的不一样,可以自己构造RNG对象,并用当前时间作为state
RNG rng(time(NULL))
使用time函数记得#include <time.h>

转载于:https://www.cnblogs.com/cloudfox/p/4199705.html

你可能感兴趣的文章
信息论与编码相关知识点
查看>>
深入浅出MongoDB应用实战开发
查看>>
memcached配置 启动
查看>>
IJ:IntelliJ IDEA安装
查看>>
ASP.NET Web Pages:帮助器
查看>>
软件测试课后习题(二)
查看>>
数字和表达式
查看>>
如何用纯 CSS 创作一个行驶中的火车 loader
查看>>
js数据结构与算法--递归
查看>>
原生js实现问卷调查
查看>>
Week5——团队选题&需求分析
查看>>
cookie的使用
查看>>
打造自己个性的notepad ++
查看>>
HDU 4479 Shortest path 带限制最短路
查看>>
简单之美
查看>>
C# 将一个DataTable的结构直接复制到另一个DataTable
查看>>
CF1073G Yet Another LCP Problem 后缀自动机 + 虚树 + 树形DP
查看>>
zip文件压缩解压缩:Zip-Utils
查看>>
java 打印乘法口诀表
查看>>
C语言 · 排列数
查看>>