看过很多博客,讲的都乱七八糟,有的写的很麻烦,比如对一张图片逐元素添加噪声,这很浪费时间,下面,我教大家如何快速一步添加泊松噪声。
首先要用到牛批库和cv库(numpy,opencv)
调用函数
np.random.poisson()
就行了,下面看具体的例子
import numpy as np
import cv2
path = 'aaa.png'
image = cv2.imread(path) # 读取图像
mean_bosong = 120 # 泊松分布均值
# 添加噪声
noise_type = np.random.poisson(lam=mean_bosong, size=image.shape).astype(np.float64) # 生成泊松噪声,size为图像尺寸
noise_image = noise_type + image.astype(np.float64) - mean_bosong # 将原图与噪声叠加,并减去均值,不然图像整体像素会增加
noise_image = np.clip(noise_image, 0, 255).astype(np.uint8) # 控制像素值在0到255
cv2.imshow('addnoise', noise_image) # 显示
cv2.imshow('image', image)
cv2.waitKey(0)
看一下效果:
左侧为泊松均值120,右侧为原图。希望这个代码能帮助那些图像去噪方向的同学和朋友。