1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| def Gris(image):
print(image.shape) #393, 700, 4 (composants de l'image : lignes, colonne, plans 4 pour rouge, vert, bleu, transparence)
n=image.shape[0] #accés au premier composant : n est le nb de lignes (393)
m=image.shape[1] #accés au second composant : m est le nb de colonnes (700)
IMG=np.zeros((n,m)) #création d'une matrice IMG de n lignes et de m colonnes de valeurs 0
for i in range(n):
for j in range(m): #pour chaque pixel de chaque ligne de chaque colonne
pix=image[i,j] #on retrouve 4 composants rangés dans une liste avec pix[0]=valeur rouge ...
# In [44]: IM[200,100]
# Out[44]: Image([126, 139, 117, 255], dtype=uint8)
IMG[i,j]=0.299*pix[0]+0.587*pix[1]+0.114*pix[2]#on reconstruit IMG avec les valeurs de pix et
return IMG # la formule donnée dans l'énoncé pour retrouver la valeur de gris
# L'argument cmap='gray' permet de représenter les valeurs en niveaux de gris. La fonction matplotlib.pyplot.imshow ainsi utilisée convertit la plage de valeurs [min,max] du tableau en valeurs dans l'intervalle [0,255] pour l'affichage en image.
plt.imshow(Gris(IM),cmap=cm.gray) #permet de visualiser l'image en niveaux de gris sur une seule valeur donnée par l'équation IMG[i,j] ; si cmap.hot : couleur chaude |
Partager