вставьте белый гауссовский шум в изображения с помощью Python - PullRequest
0 голосов
/ 01 декабря 2018

Я попытался найти функцию Python, которая соответствует функции Matlab (imnoise).Я хочу увеличить изображения, используя белый гауссов шум.

Tha matlab код для белого гауссовского шума ::

[I, map]=imread("img.png");
I=double(I)/255;
V=var(I(:)); %compute the image variance
J=imnoise(I, 'gaussian', 0, V/10); %insert gaussian white noise with mean zero and tenth of that variance

1 Ответ

0 голосов
/ 01 декабря 2018

Вы можете использовать numpy и Pillow для этого!

from PIL import Image
import numpy as np

# Load the image into a numpy array
I = Image.open(filename)
I_array = np.array(im)

# Calculate the variance for the image and the noise
M = 0
V = np.var(im_array)
noise = np.random.normal(mean, variance, I_array.shape)

# Add the noise to the image numpy array and convert
# everything back to a PIL image.
I_array_noise = np.add(I_array, noise)
J = Image.fromarray(I_array_noise)
...