opencv3.0随机数问题

opencv3.0生成随机数的办法和旧版本有所不同

1.生成一个普通的随机数(这个是在源码中抠出来的)

    //@code{.cpp}
    RNG rng;

    // always produces 0
    double a = rng.uniform(0, 1);

    // produces double from [0, 1)
    double a1 = rng.uniform((double)0, (double)1);

    // produces float from [0, 1)
    double b = rng.uniform(0.f, 1.f);

    // produces double from [0, 1)
    double c = rng.uniform(0., 1.);

    // may cause compiler error because of ambiguity:
    //  RNG::uniform(0, (int)0.999999)? or RNG::uniform((double)0, 0.99999)?
    double d = rng.uniform(0, 0.999999);

2.用随机数填充一个矩阵,用到以下这个函数

//其中distType可以是RNG::NORMAL(正态分布)或者RNG::UNIFORM(均匀分布)
//RNG::UNIFORM(均匀分布)时,参数a,b分别是分布的范围
//RNG::NORMAL(正态分布)时,参数a,b分别是均值和方差
void fill( InputOutputArray mat, int distType, InputArray a, InputArray b, bool saturateRange = false );
RNG rng;
Mat kalman;
rng.fill(kalman,RNG::UNIFORM,0,0.1);

总结:有空还是看看源码,没坏处!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值