使用opencv给图像添加高斯噪声
2017-09-13 11:20
489 查看
高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声,与椒盐噪声相似(Salt And Pepper Noise),高斯噪声(gauss noise)也是数字图像的一个常见噪声。椒盐噪声是出现在随机位置、噪点深度基本固定的噪声;高斯噪声则是几乎每个点上都出现噪声、噪点深度随机的噪声。
IplImage* AddGuassianNoise(IplImage* src) { IplImage* dst = cvCreateImage(cvGetSize(src),src->depth,src->nChannels); IplImage* noise = cvCreateImage(cvGetSize(src),src->depth,src->nChannels); CvRNG rng = cvRNG(-1); cvRandArr(&rng,noise,CV_RAND_NORMAL,cvScalarAll(0),cvScalarAll(25)); cvAdd(src,noise,dst); return dst; }
RNG 初始化随机数生成器状态
CvRNG cvRNG( int64 seed=-1 ); seed 64-bit 的值用来初始化一个随机序列 函数 cvRNG 初始化随机数生成器并返回其状态。指向这个状态的指针可以传递给函数 cvRandInt, cvRandReal 和 cvRandArr . 在通常的实现中使用一个 multiply-with-carry generator 。
RandArr用随机数填充数组并更新 RNG 状态void cvRandArr( CvRNG* rng, CvArr* arr, int dist_type, CvScalar param1, CvScalar param2 );
rng 被 cvRNG 初始化的 RNG 状态. arr 输出数组 dist_type 分布类型: CV_RAND_UNI - 均匀分布 CV_RAND_NORMAL - 正态分布 或者 高斯分布 param1 分布的第一个参数。如果是均匀分布它是随机数范围的闭下边界。如果是正态分布它是随机数的平均值。 param2 分布的第二个参数。如果是均匀分布它是随机数范围的开上边界。如果是正态分布它是随机数的标准差。 函数 cvRandArr 用均匀分布的或者正态分布的随机数填充输出数组。
相关文章推荐
- 用OpenCV的RNG类为图像添加高斯噪声
- 通过opencv给图像添加椒盐噪声
- 图像处理之添加高斯与泊松噪声
- OpenCV给图像添加柏林噪声
- 图像处理之添加高斯与泊松噪声
- 图像处理------添加高斯与泊松噪声 分类: 视频图像处理 2015-07-24 14:58 61人阅读 评论(0) 收藏
- 图像处理------添加高斯与泊松噪声
- NVIDIA Jetson TX1 系列开发教程之十三:使用OpenCV在图像上添加汉字
- 图像处理------添加高斯与泊松噪声
- 图像添加高斯噪声、胡椒噪声、盐噪声和椒盐噪声
- 图像处理------添加高斯与泊松噪声
- 图像模拟添加(产生)高斯噪声的OpenCV代码!
- 图像添加噪声【OpenCV学习笔记1】
- 图像去噪的OPenCV添加噪声和去噪
- 【OpenCV】给图像添加噪声
- Episode Eight:opencv2.4.9实现向图像添加噪声和对图像滤波去噪
- 为图像添加椒盐噪声和高斯噪声
- opencv 降低图像亮度 + 添加噪声处理
- [转]图像去噪的OpenCV添加噪声和去噪
- 图像处理之添加高斯与泊松噪声