rng.uniform

opencv中生成 随机数的方法,有和MATLAB差不多的 randn()也有,但是并没有那么好用,就是不能决定产生随机数的种子是什么,可以是高斯,或者是均匀分布。
其实在opencv中,使用 rng(随机数产生器),更加合适,当时在stackflow上看到的,然后自己去搜索了一下
RNG 是一个类,首先要产生一个对象,rng_R, next可以取出下一个随机数,uniform函数可以返回指定范围的随机数,gaussian函数返回一个高斯随机数,fill则用随机数填充矩阵。
还有一些随机数相关的函数,比如randu可以产生一个均匀分布的随机数或者矩阵,randn可以产生一个正态分布的随机数,randShuffle可以随机打乱矩阵元素。
cv::RNG rng_R( cv::getTickCount() );//产生对象rng_R,随时间每次产生的随机数都不同
cv::Mat RandMap_R(row,col,CV_32FC3);//创建矩阵,用来装随机数
rng_L.fill(RandMap_R, cv::RNG::UNIFORM, 0.f, 1.f);//用fill命令把随机数装进去,第一个参数:装随机数的矩阵;第二个参数:cv::RNG::UNIFORM:均匀分布的随机数,cv::RNG::GAUSSIAN高斯分布的随机数;第三个参数:产生的随机数的范围,上面的例子表示float型:0~1(也可以使float,double,最好不要int,否则最后的随机数都是0,你懂得~)
  • 5
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值