cvRandSetRange() cvRand()

来源:互联网 发布:银行表外业务数据 编辑:程序博客网 时间:2024/06/06 05:49
cvRandSetRange()
修改CvRandState数据结构的参数内容,均匀分布的话可以每个信道的上下界常态分布可以修改每个通道的平均数,标准偏差.
cvRandSetRange(CvRandState数据结构,均匀分布上界,均匀分布下界,目标信道数据)
cvRandSetRange(CvRandState数据结构,常态分布平均数,常态分布标准偏差,目标信道数据)
其中CvRandState产生随机向量的结构数组,cvRandInitCvRandState的初始化
cvRandInit( &rng_state,0, 1, 0xffffffff , CV_RAND_UNI )

初始化CvRandState资料结构,可以选定随机分布的种类,并给他定种子,有两种情形

cvRandInit(CvRandState资料结构,随机上界,随机下界,均匀分布的参数,指定分布类型(CV_RAND_UNI))

cvRandInit(CvRandState资料结构,平均数,标准差,正态分布参数,正态分布类型(CV_RAND_NORMAL))

如:
CvRandState rng;
cvRandInit( &rng, 0, 1, -1, CV_RAND_UNI );
同时cvRandSetRange可以在不重新初始化rng状态(CV_RAND_UNI/CV_RAND_NORMAL)的情况下改变已经初始化的rng范围及相关参数。
例如:
cvRandSetRange( &rng, 0, 0.1, 0 );
rng.disttype = CV_RAND_NORMAL;//上边设置rng为CV_RAND_UNI状态,现在改为CV_RAND_NORMAL

cvRand(&RandState1,Image1);
cvRand()将CvMatIplImage数据结构随机化,用被设定过的CvRandState数据结构来随机.
cvRand(CvRandState数据结构,CvMatIplImage数据结构)

0 0