图像基本噪声添加函数

这篇博客介绍了在Windows环境下,利用OpenCV库编写的图像处理函数,主要用于向图像添加不同类型的噪声,是作者在学习图像处理过程中的实践记录。
摘要由CSDN通过智能技术生成

以前学习图像处理时,写的函数代码呀!

编程环境:windows下结合opencv库。

enum NOISE_TYPE  //图像噪声类型
{
	//均匀噪声,高斯噪声,椒盐噪声
	NOISE_UNIFORM, NOISE_GAUSSIAN, NOISE_SALT
};
//图像添加噪声 参数A B在不同噪声类型时含义不同 源图像为8位
//1.参数范围为 0 - 255
//2.均匀噪声时,参数A为下界,参数B为上界
//3.高斯噪声时,参数A为高斯均值,参数B为高斯标准差
//4.椒盐噪声时,参数A为盐噪声比例,参数B为椒噪声比例,且0<A+B<100
void AddNoise(IplImage* src, IplImage* dst, NOISE_TYPE noiseType, float fParamA, float fParamB);
//图像添加噪声
void AddNoise(IplImage* src, IplImage* dst, NOISE_TYPE noiseType, float fParamA, float fParamB)
{
	if (!src || !dst)
	{
		return;
	}

	if (src->nChannels == 3)
	{
		cvCvtColor(src, dst, CV_BGR2GRAY);
	}

	CvRNG rng = cvRNG();//初始化随机数生成器

	CvMat* pMatNoise = cvCreateMat(src->height, src->width, CV_8UC1);//噪声矩阵

	switch (noiseType)
	{
	case NOISE_UNIFORM:
		{
			//产生图像大小的均匀分布随机矩阵
			cvRandArr(&rng, pMatNoise, CV_RAND_UNI, cvScalar(fParamA), cvScalar(fParamB
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值