import numpy as np
import matplotlib.pyplot as plt
# Pour charger l'image (exemple image dont le chemin est
# e:\photos\tetouan.jpg
img = plt.imread('e:\\photos\\tetouan.jpg')
# Pour afficher l'image couleur
plt.imshow(img)
plt.show()
# pour afficher une image en niveaux de gris
plt.imshow(img,'gray',vmin=0,vmax=255)
plt.show()
""" --------------------------------------------------- """
# Convertir une image couleur en image en niveaux de gris
def couleurToGris_vert(img): # méthode 1
H,L = len(img),len(img[0])
gris = [[0]*L for i in range(H)]
for i in range(H):
for j in range(L):
gris[i][j] = img[i][j][1] # la valeur du vert du pixel
return gris
def couleurToGrisMoy(img): # méthode 2
H,L = len(img),len(img[0])
gris = [[0]*L for i in range(H)]
for i in range(H):
for j in range(L):
gris[i][j] = round(np.mean(img[i][j])) # (R+V+B)/3
return gris
def couleurToGrisCoef(img): # méthode 3
# gris = 0.11*Rouge + 0.83*Vert + 0.06*Bleu
H,L = len(img),len(img[0])
gris = [[0]*L for i in range(H)]
for i in range(H):
for j in range(L):
R,V,B = img[i][j]
gris[i][j] = round(0.11*R + 0.83*V + 0.06*B)
return gris
# Convertir une image grise en noir et blanc
def NB(gris):
H,L = len(gris),len(gris[0])
imgNB = [[0]*L for i in range(H)]
for i in range(H):
for j in range(L):
if gris[i][j] >= 127 :
imgNB[i][j] = 1
return imgNB