Bonsoir à tous, je suis en PTSI et on a un projet d'info pour les vacances: le mien est le contoure filtrage.En gros, avec mon binôme on doit faire les contours d'une image
J'ai commencé à coder 2-3 trucs j'avais en tête de comparer la valeur de chaque pixel de mon image avec les 2 suivants, si ils sont identiques aucun soucis. Sinon on regarde si il y a un véritable changement de couleur (pour être sûr que c'est pas une "coquille")
Enfin bref j'avais codé ça:Code PHP:
import matplotlib.pyplot as plt
import numpy as np
from os import getcwd,chdir
def recupererInfoImage(nomImage): ## écrire les " " dans le nom de l'image
chdir("Blablabla") #On peut essayer de mettre le répertoire comme une variable dans la fonction
image=plt.imread(nomImage)
nouveau=np.ones((image.shape) ,int) #On crée un nouveau tableau de même taille que l'image etudiée, il est rempli de 1.
plt.imshow(image)
nl,nc,n=image.shape
#Rajouter ligne 11 "return nouveau"
#return nl, nc, n #Ligne, colonne, n=? il faudra retirer le # après pour découper la fonction en sous fonction
plt.imshow(image)
#Ici commence la fonction BalayageImage(nl,nc,n)
for l in range(0,nl-3): #On balaie les lignes
for c in range(0,nc-3):#Pour chaque ligne on balaie chaque colonne
if image[c-2,l-2,0]==image[c-1,l-1,0]:
if image[c-1,l-1,0]==image[c,l,0]:
print('Pas de chgt', c, l) #### ICI EST LE PROBLEME, A LA COLONNE 293, LIGNE 0
elif image[c-2,l,0]!=image[c-1,l-1,0]:
if image[c-1,l-1,0]==image[c-2,l-2,0]:
nouveau[c-2,l-2,0]==0 #On change le pixel de couleur (il devient noir, inialement il est blanc à cause de ligne8)
return nouveau
Et en gros, jelance mon programme mais Pyzo me renvoie ceci, quand j'arrive à la colonne 293, ligne 0
Je vois bien que le problème vient du changement de valeur parce que je dois passer à la ligne suivante. Mais je ne vois pas comment faire :/Traceback (most recent call last):
File "<console>", line 1, in <module>
File "C:\Users\Gaspard Houillon\Desktop\TESTINFO\essa i.py", line 18, in recupererInfoImage
if image[c-1,l-1,0]==image[c,l,0]:
IndexError: index 294 is out of bounds for axis 0 with size 294
Tout les "-3""-2" etc que vous voyez près des c et l viennent du fait quej'ai essayé de régler le problème en modifiant le "compte" de mes colonnes
Merci
-----