function J = bruit_add (I)  %fonction qui prend en paramètre une image I et retourne une image J bruitée
	[m, n, can] = size(I); %m=nb lignes, n=nb colonnes, can=nb canaux
	res = zeros (m, n);    %image résultante (de même taille que I) : initialisée à 0 partout
	if(can > 1)
	    I = rgb2gray(I);  %dans le cas d'une image couleur, la transformer en NG
	end
	
	J=imnoise(I,'gaussian',0, 0.01);      % bruit blanc gaussien de moyenne 0 et de variance 0.01 (valeurs par défaut si rien de précisé)
	J2=imnoise(I,'gaussian',0, 0.05);

	%V=rand(m,n);
	%J=imnoise(I,'localvar',V);         %Zero-mean Gaussian white noise with an intensity-dependent variance (V is an array of the same size as I)

	%J = imnoise(I,'poisson');  %bruit suivant la loi de poisson
	%J = imnoise(I,'salt & pepper',D);     %adds "salt and pepper" noise to the image I, where D is the noise density.  This affects approximately
					    %D*numel(I) pixels. The default for D is 0.05.

	%bruit multiplicatif :
	%J = imnoise(I,'speckle',V);    %adds multiplicative noise to the image I, using the equation J = I + n*I, where n is uniformly distributed random
					%noise with mean 0 and variance V. The default for V is 0.04.                                    

	figure
	%divise la fenêtre en 1 ligne et 2 colonnes : pour afficher 2 images l'une à côté de l'autre
	subplot(1, 2, 1)  %sélectionne le premier cadran 
	colormap(gray)
	imagesc(J);        %affichage du résultat
	subplot(1, 2, 2)   %sélectionne le deuxième cadran
	colormap(gray)
	imagesc(J2);      %affichage du résultat