小练习:为图片添加椒盐噪声,高斯噪声

简述:对于椒盐噪声,官方写的是两边处理,temp<prod 设为0,temp>prod 设为255,那么在噪声比例为0.5时,则图像全为噪声,因此我认为椒盐噪声应一共在prod即可,不用在区分,各占prod/2的比例即可。应该是我的有问题,以后有了新的理解再改正。

import  cv2 as cv
import matplotlib.pyplot as plt
import numpy as np
from skimage.metrics import peak_signal_noise_ratio,structural_similarity
import os

plt.rcParams['font.sans-serif']=['simhei']
plt.rcParams['axes.unicode_minus'] =False

#加入椒盐噪声
def salt_noise(img,prod):
    '''
    :param img: 图像
    :param prod: 噪声比例
    :return: 噪声图片
    '''
    img = img.copy()
    for i in range(img.shape[0]):
        for j in range(img.shape[1]):
            temp = np.random.random()
            if temp <= prod/2 :
                img[i,j] = 0
            elif temp <prod:
                img[i,j] = 255
    return img

#加入高斯噪声
def gasuss_noise(img,sigma):
    '''
    :param img: 原始图片
    :param sigma: 标准差
    :return:
    '''
    img = img.copy()
    img = img/255
    mean = 0
    gasuss_img = np.random.normal(mean,sigma,img.shape)
    img = img +gasuss_img*0.5
    img = np.uint8(np.clip(img,0,1)*255)

    return img

或者

from skimage.util import random_noise
noise_gs_img = random_noise(img,mode=‘gaussian’)
noise_sp_img = random_noise(img,mode=‘s&p’)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值