如何给图片添加泊松(poisson)噪声(附Python代码)

Posted vodka、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何给图片添加泊松(poisson)噪声(附Python代码)相关的知识,希望对你有一定的参考价值。

问题背景:

在做噪声添加实验时,需要给图像添加Poisson噪声,下文提供添加泊松噪声的代码:


什么是泊松噪声:

在RAW格式图像中,经常出现高斯噪声和散粒噪声。高斯噪声与光线的强弱无关,也就是说无论图像的像素值是多少,噪声的平均水平不变。另外一种是散粒噪声,其符合泊松分布,因此也叫泊松噪声,泊松噪声的强度会随着光线变强而变大,也就是说图像的像素值越大,泊松噪声出现的频率也越大。泊松噪声产生原理:光源发出的光子照射在CMOS上,从而形成一个可见的光点。CMOS在有些时候可能无法接收所有的光子,或者有时候接收到的光子特别多,这就导致灰度值会产生波动,这时候就会发生泊松噪声。


解决方案:

为了模拟工业相机采集图像时产生的泊松噪声,对图像数据集进行加噪处理,处理过程如下:

import os
import numpy as np
import cv2

path = './.../.../'
img_name = 'xx.jpg'
image = cv2.imread(os.path.join(path,img_name)) # 读取图像 path为存储图像路径,img_name为图像文件名
# 添加噪声
noise_type = np.random.poisson(lam=0.03,size=(2177,2233,1)).astype(dtype='uint8') # lam>=0 值越小,噪声频率就越少,size为图像尺寸
noise_image = noise_type+image  # 将原图与噪声叠加
cv2.imshow('添加噪声后的图像',noise_image)
cv2.waitKey(0)
cv2.destroyWindow()

以上是关于如何给图片添加泊松(poisson)噪声(附Python代码)的主要内容,如果未能解决你的问题,请参考以下文章

如何给图片添加泊松(poisson)噪声(附Python代码)

matlab图片添加噪音

Poisson Distribution——泊松分布

python使用opencv对图像添加(高斯/椒盐/泊松/斑点)噪声

python使用opencv对图像添加(高斯/椒盐/泊松/斑点)噪声

python使用opencv对图像添加(高斯/椒盐/泊松/斑点)噪声