opencv中的隨機數生成器RNG

2021-07-24 02:26:21 字數 1017 閱讀 2853

本文主要講解隨機數生成器rng。在opencv中我們有時要隨機生成一些數值,用於影象的邊緣。

rng::uniform

int  rng::(int a,int b)

float  rng::uniform(float a,float b)

double rng::uniform(double a,double b)

隨機類rng:計算機的偽隨機數是由隨機種子根據一定的計算方法計算出來的數值,所以只要計算方法一定,隨機種子一定,那麼產生的隨機數就是固定的。

rng rng(12345)

opencv 裡rng類建構函式初始化為固定值後,隨機種子也是固定的,所以在相同的平台環境下,編譯後每次執行它,顯示的隨機數是一樣的。

例如:#include

#include "opencv2/highgui/highgui.hpp"

using namespace cv;

using namespace std;

rng rng(12345);

int main(void)

return 0;}

只要平台不變,每次生成的都是:633

1254

7165

9411

6476

請按任意鍵繼續. . .

如果想改變成隨機生成的數,使用下面的方法:

#include

#include

#include

using namespace cv;

using namespace std;

rng rng((unsigned)time(null));

int main(void)

return 0;}

第一次結果:

767933

8323465979

請按任意鍵繼續. . .

第二次結果: 35

4676

5232

6869

4249

91請按任意鍵繼續. . .

隨機數生成器

標頭檔案 內容 rand,srand函式和rand max常量 rand max 在windows系統中為32767 在類unix系統中為2147483647 rand 函式返回乙個0 rand max的隨機整數 srand seed 函式 接受unsigned int 型別的引數seed,以see...

MATLAB隨機數生成器

1 rand 生成 0,1 區間上均勻分布的隨機數 基本語法 rand m,n,p 生成排列成m n p 多維向量的隨機數。如果只寫m,則生成m m矩陣 如果引數為 m,n 可以省略方括號。2 randn 生成服從標準正太分布 均值為0,方差為1 的隨機數 基本語法 randn m,n,p,解釋同1...

隨機數生成器,隨機種子

遊戲中經常要用到隨機數,但如果乙個沒有隨機種子的的生成器,就沒法重複之前的隨機數了。js的math.random就用不了隨機種子,只好自己弄了乙個,有了隨機種子,每次只要傳入相同的種子,都會得到同樣的隨機數。直接 function seededrandom seed,min,max 這是一種偽隨機數...