国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

RNG類是OpenCV中的一個(gè)基本隨機(jī)數(shù)生成工具

這篇具有很好參考價(jià)值的文章主要介紹了RNG類是OpenCV中的一個(gè)基本隨機(jī)數(shù)生成工具。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

RNG類是OpenCV中的一個(gè)基本隨機(jī)數(shù)生成工具

在OpenCV中,RNG類是用于生成隨機(jī)數(shù)的偽隨機(jī)數(shù)生成器(Pseudo-Random Number Generator),它可以用于生成各種類型的隨機(jī)數(shù),如整數(shù)、浮點(diǎn)數(shù)和隨機(jī)顏色,這個(gè)類位于 opencv2/core/types.hpp頭文件中;

RNG可以產(chǎn)生3種隨機(jī)數(shù)

  • RNG(int seed) 使用種子seed產(chǎn)生一個(gè)64位隨機(jī)整數(shù),seed默認(rèn)-1
  • RNG::uniform( ) 產(chǎn)生一個(gè)均勻分布的隨機(jī)數(shù)
  • RNG::gaussian( ) 產(chǎn)生一個(gè)高斯分布(又叫正態(tài)分布)的隨機(jī)數(shù)
1、初始化一個(gè)RNG對(duì)象
cv::RNG rng;  // 默認(rèn)情況下隨機(jī)數(shù)種子seed=-1,也可以指定隨機(jī)數(shù)種子RNG rng(12345)
	      // rng既是一個(gè)RNG對(duì)象,也是一個(gè)隨機(jī)整數(shù)
// 得到一個(gè)64位隨機(jī)整數(shù)
int N1 = rng;
2、產(chǎn)生一個(gè)均勻分布的隨機(jī)數(shù)
(1)產(chǎn)生一個(gè)[min_value, max_value)范圍的均勻分布的整數(shù)
int randomInt = rng.uniform(min_value, max_value);
(2)產(chǎn)生一個(gè)[min_value, max_value)范圍的均勻分布的浮點(diǎn)數(shù)
double randomDouble = rng.uniform(min_value, max_value);
示例:
//總是得到double類型數(shù)據(jù)0.000000,因?yàn)闀?huì)調(diào)用uniform(int,int),只會(huì)取整數(shù),所以只產(chǎn)生0
double N1a = rng.uniform(0,1);

//產(chǎn)生[0,1)范圍內(nèi)均勻分布的double類型數(shù)據(jù)
double N1b = rng.uniform((double)0,(double)1);
 
//產(chǎn)生[0,1)范圍內(nèi)均勻分布的float類型數(shù)據(jù),注意被自動(dòng)轉(zhuǎn)換為double了。
double N1c = rng.uniform(0.f,1.f);
 
//產(chǎn)生[0,1)范圍內(nèi)均勻分布的double類型數(shù)據(jù)。
double N1d = rng.uniform(0.,1.);

3、產(chǎn)生一個(gè)高斯分布(又叫正態(tài)分布)的隨機(jī)數(shù)
// 產(chǎn)生一個(gè)均值為0,標(biāo)準(zhǔn)差為1的正態(tài)分布的隨機(jī)數(shù)
double g = rng.gaussian(1.0);
// 產(chǎn)生一個(gè)均值為0,標(biāo)準(zhǔn)差為2的正態(tài)分布的隨機(jī)數(shù)  
double N1g = rng.gaussian(2); 

4、獲取下一個(gè)隨機(jī)數(shù)

上面一次只能返回一個(gè)隨機(jī)數(shù),實(shí)際上系統(tǒng)已經(jīng)生成一個(gè)隨機(jī)數(shù)組,如果我們要連續(xù)獲得隨機(jī)數(shù),沒有必要重新定義一個(gè)RNG類,只需要取出隨機(jī)數(shù)組的下一個(gè)隨機(jī)數(shù)即可;文章來源地址http://www.zghlxwxcb.cn/news/detail-681850.html

  • RNG:: next 返回下一個(gè)64位隨機(jī)整數(shù)
  • RNG:: operator 返回下一個(gè)指定類型的隨機(jī)數(shù)
示例:
RNG rng;
// 得到一個(gè)64位隨機(jī)整數(shù)
int N1 = rng;
int N2 = rng.next();                    // 返回下一個(gè)隨機(jī)整數(shù),即N1.next();
 
//返回下一個(gè)指定類型的隨機(jī)數(shù)
int N2a = rng.operator uchar();         //返回下一個(gè)無符號(hào)字符數(shù)
int N2b = rng.operator schar();         //返回下一個(gè)有符號(hào)字符數(shù)
int N2c = rng.operator ushort();        //返回下一個(gè)無符號(hào)短型
int N2d = rng.operator short int();     //返回下一個(gè)短整型數(shù)
int N2e = rng.operator int();           //返回下一個(gè)整型數(shù)
int N2f = rng.operator unsigned int();  //返回下一個(gè)無符號(hào)整型數(shù)
int N2g = rng.operator float();         //返回下一個(gè)浮點(diǎn)數(shù)
int N2h = rng.operator double();        //返回下一個(gè)double型數(shù)
int N2i = rng.operator ()();            //和rng.next( )等價(jià)
int N2j = rng.operator ()(100);         //返回[0,100)范圍內(nèi)的隨機(jī)數(shù)
5、實(shí)例演示
#include <opencv2\opencv.hpp>
#include <iostream>
#include <demo.h>

using namespace cv;
using namespace std;

int main() {

	system("chcp 65001");

	Mat canvas = Mat::zeros(Size(512, 512), CV_8UC3);
	int w = canvas.cols;
	int h = canvas.rows;
	RNG rng(12345);
	while (true) {
		int c = waitKey(10);
		if (c == 27) { // 退出
			break;
		}
		int x1 = rng.uniform(0, w);
		int y1 = rng.uniform(0, h);
		int x2 = rng.uniform(0, w);
		int y2 = rng.uniform(0, h);
		int b = rng.uniform(0, 255);
		int g = rng.uniform(0, 255);
		int r = rng.uniform(0, 255);
		canvas = Scalar(0, 0, 0);
		line(canvas, Point(x1, y1), Point(x2, y2), Scalar(b, g, r), 1, LINE_AA, 0);
		imshow("隨機(jī)繪制演示", canvas);
	}

	waitKey();
	destroyAllWindows();
	return 0;
}

到了這里,關(guān)于RNG類是OpenCV中的一個(gè)基本隨機(jī)數(shù)生成工具的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python生成隨機(jī)數(shù)的一個(gè)標(biāo)準(zhǔn)庫-random

    Random庫Python中用于生成隨機(jī)數(shù)的一個(gè)標(biāo)準(zhǔn)庫。計(jì)算機(jī)沒有辦法產(chǎn)生真正的隨機(jī)數(shù),但它可以產(chǎn)生偽隨機(jī)數(shù)。 偽隨機(jī)數(shù)是計(jì)算機(jī)按照一定的運(yùn)算規(guī)則產(chǎn)生的一些數(shù)據(jù),只不過這些數(shù)據(jù)表現(xiàn)為隨機(jī)數(shù)的形式。計(jì)算機(jī)中采用梅森旋轉(zhuǎn)算法生成為隨機(jī)序列,序列中的每一個(gè)元素就是偽

    2023年04月26日
    瀏覽(32)
  • 商用密碼產(chǎn)品認(rèn)證中的隨機(jī)數(shù)(二)

    現(xiàn)行密碼標(biāo)準(zhǔn)體系中包括三類隨機(jī)數(shù)相關(guān)標(biāo)準(zhǔn):框架類標(biāo)準(zhǔn)、設(shè)計(jì)類標(biāo)準(zhǔn)和檢測(cè)類標(biāo)準(zhǔn)。 框架類標(biāo)準(zhǔn)為GM/T 0103《隨機(jī)數(shù)發(fā)生器總體框架》 設(shè)計(jì)類標(biāo)準(zhǔn)為用于指導(dǎo)隨機(jī)數(shù)發(fā)生器的技術(shù)設(shè)計(jì),包括GM/T 0078《密碼隨機(jī)數(shù)生成模塊設(shè)計(jì)指南》、《物理混沌隨機(jī)數(shù)發(fā)生器設(shè)計(jì)指南》和

    2024年02月05日
    瀏覽(32)
  • 按鍵消抖與仿真源文件中的隨機(jī)數(shù)

    由于按鍵的機(jī)械彈簧結(jié)構(gòu),在按鍵按下與釋放的過程中,存在類似接觸不良,斷斷續(xù)續(xù)的信號(hào),導(dǎo)致電平信號(hào)的抖動(dòng)。 在C程序中一般通過延時(shí)函數(shù)解決,根據(jù)按鍵速度,一般延時(shí)20ms之后再重新對(duì)引腳判斷是否真正按下,來解決抖動(dòng)問題。 在FPGA中可以通過對(duì)信號(hào)的快速精準(zhǔn)

    2024年02月10日
    瀏覽(19)
  • Hadoop中的加密解密機(jī)制——偽隨機(jī)數(shù)生成算法介紹

    作者:禪與計(jì)算機(jī)程序設(shè)計(jì)藝術(shù) Hadoop作為當(dāng)下最流行的大數(shù)據(jù)處理平臺(tái),提供了豐富的功能支持,如海量數(shù)據(jù)的存儲(chǔ)、分析與計(jì)算。其中一個(gè)重要的環(huán)節(jié)就是數(shù)據(jù)安全問題。無論是存儲(chǔ)集群還是計(jì)算集群,都需要提供數(shù)據(jù)保護(hù)措施來確保數(shù)據(jù)的完整性和可用性。今天我將介紹

    2024年02月06日
    瀏覽(25)
  • 【Python入門知識(shí)】NumPy 中的隨機(jī)數(shù)及ufuncs函數(shù)

    【Python入門知識(shí)】NumPy 中的隨機(jī)數(shù)及ufuncs函數(shù)

    前言 嗨嘍~大家好呀,這里是魔王吶 ? ~! 什么是隨機(jī)數(shù)? 隨機(jī)數(shù)并不意味著每次都有不同的數(shù)字。隨機(jī)意味著無法在邏輯上預(yù)測(cè)的事物。 偽隨機(jī)和真隨機(jī) 計(jì)算機(jī)在程序上工作,程序是權(quán)威的指令集。 因此,這意味著必須有某種算法來生成隨機(jī)數(shù)。 如果存在生成隨機(jī)數(shù)的程

    2024年02月03日
    瀏覽(41)
  • Opencv中的RNG-隨機(jī)繪圖

    Opencv中的RNG-隨機(jī)繪圖

    在OpenCV中, RNG 是一個(gè) 隨機(jī)數(shù)生成器類 ,用于生成各種類型的隨機(jī)數(shù),包括均勻分布或高斯分布的整數(shù)和浮點(diǎn)數(shù)。RNG類的實(shí)例化時(shí)可以接受一個(gè)無符號(hào)整數(shù)作為 種子值 ,這個(gè)種子值決定了隨機(jī)數(shù)生成序列的起點(diǎn),相同的種子值將產(chǎn)生相同的隨機(jī)數(shù)序列。這 在需要可重復(fù)的實(shí)

    2024年02月21日
    瀏覽(18)
  • 【Python入門第五十三天】Python丨NumPy 中的隨機(jī)數(shù)

    【Python入門第五十三天】Python丨NumPy 中的隨機(jī)數(shù)

    隨機(jī)數(shù)并不意味著每次都有不同的數(shù)字。隨機(jī)意味著無法在邏輯上預(yù)測(cè)的事物。 計(jì)算機(jī)在程序上工作,程序是權(quán)威的指令集。因此,這意味著必須有某種算法來生成隨機(jī)數(shù)。 如果存在生成隨機(jī)數(shù)的程序,則可以預(yù)測(cè)它,因此它就不是真正的隨機(jī)數(shù)。 通過生成算法生成的隨機(jī)

    2023年04月25日
    瀏覽(35)
  • 第03章_流程控制語句(順序結(jié)構(gòu),分支語句,循環(huán)語句,break,continue,Scanner,如何獲取一個(gè)隨機(jī)數(shù))

    第03章_流程控制語句(順序結(jié)構(gòu),分支語句,循環(huán)語句,break,continue,Scanner,如何獲取一個(gè)隨機(jī)數(shù))

    流程控制語句是用來控制程序中各 語句執(zhí)行順序 的語句,可以把語句組合成能 完成一定功能 的小邏輯模塊。 程序設(shè)計(jì)中規(guī)定的 三種 流程結(jié)構(gòu),即: 順序結(jié)構(gòu) 程序從上到下逐行地執(zhí)行,中間沒有任何判斷和跳轉(zhuǎn)。 分支結(jié)構(gòu) 根據(jù)條件,選擇性地執(zhí)行某段代碼。 有 if…els

    2024年01月22日
    瀏覽(26)
  • JS - 生成隨機(jī)數(shù)的方法匯總(不同范圍、類型的隨機(jī)數(shù))

    (1)使用 random() 方法可以返回一個(gè)介于 0 ~ 1 之間的偽隨機(jī)數(shù)(包括 0,不包括 1)。 (2)下面是一個(gè)測(cè)試樣例 (1)這種最簡(jiǎn)單,因?yàn)楹?random 的特點(diǎn)保持一致。只需使用如下公式即可: (2)比如下面生成 [10,15) 范圍內(nèi)的隨機(jī)浮點(diǎn)數(shù)。 因?yàn)?random 的特點(diǎn),要取得這幾個(gè)區(qū)間

    2023年04月08日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包