Opencv-rng随机数生成的使用
来源:互联网 发布:saas软件开发 编辑:程序博客网 时间:2024/04/29 22:55
Opencv-rng随机数生成的使用
Opencv访问像素点有很多方法,我采用的是最简单的一种,但是作为一个小白,还是遇到很多问题:
cout<<LImg.at<Vec3f>(j,i)[0];
之前想输出图像某一点值,结果报错,不知为何,后来把Vec3f->Vec3b,成功读出,应该是读入的图像是uint8格式,而不是double型,虽然在opencv中也是用imread读入。MATLAB中的imread,读入图像也是uint8吧!唉,小白一只,二逼无限~
cout<<LImg.at<Vec3b>(j,i)[0];
不知道opencv里面有没有 绝对值 abs 指数 exp,反正就直接用了,反正也没有报错
代码还是报错,发现是访问像素点越界,计算正确的边界后,如下
if((odd==true)&&(x>-1)&&(x<(col-1))&&(y>-1)&&(y<(row-1)))
其实最大的收获,是知道了,opencv中生成随机数的方法,有和MATLAB差不多的randn()也有,但是并没有那么好用,就是不能决定产生随机数的种子是什么,可以是高斯,或者是均匀分布。
其实在opencv中,使用rng(随机数产生器),更加合适,当时在stackflow上看到的,然后自己去搜索了一下
RNG 是一个类,首先要产生一个对象,rng_R, next可以取出下一个随机数,uniform函数可以返回指定范围的随机数,gaussian函数返回一个高斯随机数,fill则用随机数填充矩阵。
还有一些随机数相关的函数,比如randu可以产生一个均匀分布的随机数或者矩阵,randn可以产生一个正态分布的随机数,randShuffle可以随机打乱矩阵元素。
cv::RNG rng_R( cv::getTickCount() );//产生对象rng_R,随时间每次产生的随机数都不同cv::Mat RandMap_R(row,col,CV_32FC3);//创建矩阵,用来装随机数rng_L.fill(RandMap_R, cv::RNG::UNIFORM, 0.f, 1.f);//用fill命令把随机数装进去,第一个参数:装随机数的矩阵;第二个参数:cv::RNG::UNIFORM:均匀分布的随机数,cv::RNG::GAUSSIAN高斯分布的随机数;第三个参数:产生的随机数的范围,上面的例子表示float型:0~1(也可以使float,double,最好不要int,否则最后的随机数都是0,你懂得~)
0 0
- Opencv-rng随机数生成的使用
- opencv中RNG生成随机数
- OpenCV学习之八:RNG类 随机数生成函数的使用
- OpenCV之RNG生成随机数类详解
- opencv随机数发生器RNG
- OpenCV 随机数生成器 RNG
- opencv中的随机数生成器RNG
- OpenCV学习(十一)之随机数生成器RNG
- opencv学习日常之随机数发生器RNG
- opencv学习笔记-种子随机数产生器RNG
- opencv中RNG产生随机数问题
- OpenCV自带例子(六)随机数类RNG使用与窗口文本输出方法
- OpenCV中随机数的生成
- OpenCV学习笔记(十二)——随机数产生器RNG
- OpenCV学习笔记——随机数产生器RNG
- OpenCV学习笔记(十二)——随机数产生器RNG
- OpenCV基础篇之绘图及RNG随机数对象
- OpenCV基础篇之绘图及RNG随机数对象
- 没有养护就没有好的排名:记录今日的失落
- http协议之状态码
- Android应用测试与调试实战第8章:使用selenium测试HTML5浏览器应用
- Maven学习笔记(五)设置HTTP代理
- HTTP协议之应用
- Opencv-rng随机数生成的使用
- ORA-03113: end-of-file on communication channel 报错解决方法之一
- 文章标题
- 给fpos_t类型的变量赋值
- 快速使用 maven 构建一个 spring web 项目
- Android中的坐标
- 算法提高 6-17复数四则运算 蓝桥杯
- CF_505C Mr. Kitayuta, the Treasure Hunter
- soj1002大数加法