Pas encore de compte ?
Testé sous Anaconda et Python 3.7
import cv2 import numpy as np import math def Erlang_gamma_noise_add(img, prob_noise, mean, variance): height, width, depth = np.shape(img) num_noise_pixels = height * width * prob_noise print(num_noise_pixels) noise_array = np.zeros(20, np.float) noise_mat = np.zeros(shape = (img.shape[0], img.shape[1], img.shape[2]),dtype = np.float) count = 0 a = mean / variance b = a * mean for i in range(-10,10): if i >= 0: fx = (((a**b) * (i**(b - 1))) / math.factorial(math.ceil(b) - 1) * math.exp(-(a * i))) elif i < a: fx = 0 noise_array[count] = fx count += 1 num_noise_pixels = 0 cdf_g = np.cumsum(noise_array) for i in range(img.shape[0]): for j in range(img.shape[1]): random_number = np.random.rand() count = -10 for k in cdf_g: if random_number <= k: noise_mat[i,j] = count * 20 break count += 1 return noise_mat if __name__ == "__main__": img = cv2.imread("Lenna.jpg") mean = 10 variance = 10 prob_noise = 0.10 noise_mat = Erlang_gamma_noise_add(img,prob_noise,mean,variance) img = img + noise_mat cv2.imwrite("Lenna_gamma_noise.jpg",img)
Image-Restoration-in-Digital-Image-Processing - GitHub
Image originale
Bruitage d'image gamma d'Erlang
Bienvenu, je m’appelle Eric Soupet et je suis l'administrateur du site elodees.com. elodees.com est un état de l'art de l'Intelligence Artificielle et se veut collaboratif, vous pouvez dès à présent proposer du contenu tels que des articles, des événements, des tutoriels, ... alors n'hésitez pas !
Crédit des images de la plate-forme : Pixabay - Pixabay License | Pexels - Pexels License