我尝试在应用低通滤波器后向图像添加白噪声。我知道如何在matlab中执行此操作,但不知道如何调用才能在python中工作。
import matplotlib.pyplot as plt
import numpy as np
import scipy.misc
from scipy import ndimage
import Image
J = imnoise(im,'salt & pepper',0.02);
figure.imshow(J)
Run Code Online (Sandbox Code Playgroud)
我还需要导入什么?还是有另一种增加噪音的方法?
scikit-image提供了random_noise类似于imnoiseMATLAB中的功能。
skimage.util.random_noise(image, mode='gaussian', seed=None, clip=True, **kwargs)
Run Code Online (Sandbox Code Playgroud)
它支持以下模式:
“高斯”高斯分布的加性噪声。
'localvar'高斯分布的加性噪声,在图像的每个点具有指定的局部方差
数据产生的“泊松”泊松分布噪声。
'salt'用1替换随机像素。
'pepper'用0替换随机像素。
's&p'用0或1替换随机像素。
“斑点”乘积噪声,使用out = image + n * image,其中n是具有指定均值和方差的均匀噪声。
请注意,与imnoiseMATLAB的不同之处在于此函数的输出始终是浮点图像。
uint8例如,如果输入图像是灰度图像,则首先将其转换为浮动图像,但不会将输出图像转换为与输入图像相同的类。
因此,如果您关心图像的类别,则应该自己转换输出,例如使用skimage.img_as_ubyte。
| 归档时间: |
|
| 查看次数: |
8446 次 |
| 最近记录: |