RNG产生随机数
- 关键字前带cv的都是C里的写法,不带cv的是C++里的写法,比如CvRNG和RNG,其本质都是一样的。
- 计算机产生的随机数都是伪随机数,是根据种子seed和特定算法计算出来的。所以,只要种子一定,算法一定,产生的随机数是相同的
- 要想产生完全重复的随机数,可以用系统时间做种子。OpenCV中用GetTickCount(),C 中用time()
RNG(int seed) 使用种子seed产生一个64位随机整数,默认-1
RNG::uniform( ) 产生一个均匀分布的随机数
RNG::gaussian( ) 产生一个高斯分布的随机数
访问图像的单个像素
动态地址访问像素:
int b = src.at<Vec3b>(i, j)[0];
int g = src.at<Vec3b>(i, j)[1];
int r = src.at<Vec3b>(i, j)[2];
用来访问三通道图像的单个像素。对于三通道图像,每个像素存储了三个值,分别为蓝色、绿色、红色通道上的数值。
int gray_data = gray.at<uchar>(i, j);
用来访问灰度图像的单个像素。对于灰度图像,每个像素只存储一个值
详细参考该链接
http://www.mamicode.com/info-detail-2923442.html