cvRand

cvRandSetRange()
修改CvRandState数据结构的参数内容,均匀分布的话可以每个信道的上下界常态分布可以修改每个通道的平均数,标准偏差
.
cvRandSetRange(CvRandState数据结构,均匀分布上界,均匀分布下界,目标信道数据)
cvRandSetRange(CvRandState数据结构,常态分布平均数,常态分布标准偏差,目标信道数据)
其中 CvRandState 产生随机向量的结构数组,cvRandInit CvRandState的初始化
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

你可能感兴趣的:(数据结构)