opencv+python椒盐噪声之盐噪声

2025-10-13 09:53:18

1、什么是盐噪声,简单的说就是图片或图像中的随机亮点或白点,或者脉冲点。在图片或图像上出现白色随机噪声点(比一定对,自己的肤浅理解)。

例如:下图所示就是加盐500的示意图。

opencv+python椒盐噪声之盐噪声

2、和原图比对,在暗色背景上看,白色噪点还是比较明显的。

源代码如下:

#盐def SaltNoise(srcimg,saltnum):    SaltNoise_img = srcimg.copy()  #做一个拷贝    for k in range(saltnum):        #随机坐标         rows =  np.random.randint(0, srcimg.shape[0] - 1)        # 随机坐标        cols =  np.random.randint(0, srcimg.shape[1] - 1)        channel = srcimg.shape[2]        if (channel == 1):#灰度            SaltNoise_img[rows, cols, 0] = 255        else:            if (channel == 3):#彩色                SaltNoise_img[rows, cols, 0] = 255   #将噪声置位255                SaltNoise_img[rows, cols, 1] = 255                SaltNoise_img[rows, cols, 2] = 255    return SaltNoise_img

opencv+python椒盐噪声之盐噪声

3、import cv2   as  cvimport numpy as npimport copyimport random

#......

#调用代码:

image = cv.imread('c:\\meiping1.png')SaltNoise_img = SaltNoise(image,500) #加500数量cv.imshow('SaltNoise_img', SaltNoise_img)cv.waitKey(0)

opencv+python椒盐噪声之盐噪声

opencv+python椒盐噪声之盐噪声

4、修改加盐数量:

SaltNoise_img = SaltNoise(image,1000) #加1000数量

可以看出白点明显增多。

opencv+python椒盐噪声之盐噪声

5、按照百分比加盐代码 5%

#加盐 per :噪声占比 彩图  image = cv.imread('c:\\meiping1.png')height = image.shape[0]width = image.shape[1]channels = image.shape[2]per = 0.05 #噪声占比 已经比较明显了 0.1 严重影响画质NoiseImg = image.copy()NoiseNum = int(per * image.shape[0] * image.shape[1])print(NoiseNum)for i in range(NoiseNum):    rows = np.random.randint(0, image.shape[0] - 1)    cols = np.random.randint(0, image.shape[1] - 1)    #channel = np.random.randint(0, 3)    # if np.random.randint(0, 2) == 0:#随机加盐或者加椒    if (0):  # 0: 加盐   1:加椒        NoiseImg[rows, cols, 0] = 0        NoiseImg[rows, cols, 1] = 0        NoiseImg[rows, cols, 2] = 0    else:        NoiseImg[rows, cols, 0] = 255        NoiseImg[rows, cols, 1] = 255        NoiseImg[rows, cols, 2] = 255cv.imshow('SP比例NoiseImg', NoiseImg)cv.waitKey(0)

opencv+python椒盐噪声之盐噪声

opencv+python椒盐噪声之盐噪声

6、将per 改成0.1 图像质量下降的很厉害。

这样就可以比较容易控制噪声数量,方便程序调试。

还可以修改程序 同时加椒盐 并且控制椒盐各自的占比。后续在介绍。

opencv+python椒盐噪声之盐噪声

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢