Analyse image erreur 'tuple' and 'int'
Cami1_2
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Dans le cadre d'un projet je dois analyser des images avec une tache sur un fond de papier en calculant la surface de la tâche.
Pour cela j'ai commencé par définir deux fonctions :
Le problème est que pour ces deux fonctions, j'obtiens des message d'erreurs :
... et pour seuillage avec un
Est-ce que quelqu'un pourrais m'expliquer et m'aider ?
Merci
Dans le cadre d'un projet je dois analyser des images avec une tache sur un fond de papier en calculant la surface de la tâche.
Pour cela j'ai commencé par définir deux fonctions :
-
moyenne()
doit calculer la moyenne de la couleur de l'image ; -
seuillage()
doit mettre en noir ou blanc chaque pixel en fonction de si sa valeur est au-dessus ou en dessous de la moyenne
import PIL.Image as Image img = Image.open('RLCT1.jpg') taille = img.size largeur = taille[0] hauteur = taille[1] def moyenne(): s = 0 for i in range(largeur): for j in range (hauteur): s = s + img.getpixel((i, j)) return (s / (hauteur * largeur)) def seuillage (m): nouvelle = Image.new("1", (largeur, hauteur), color=0) for i in range (largeur): for j in range(hauteur): pixel = img.getpixel((i, j)) if pixel < m: pixel = 0 else: pixel = 255 nouvelle.putpixel((i, j), pixel) nouvelle.save('RLCT1.jpg')
Le problème est que pour ces deux fonctions, j'obtiens des message d'erreurs :
s = s + img.getpixel((i,j))
TypeError: unsupported operand type(s) for +: 'int' and 'tuple'
... et pour seuillage avec un
mentre
0et
250:
'<' not supported between instances of 'tuple' and 'int'
Est-ce que quelqu'un pourrais m'expliquer et m'aider ?
Merci
A voir également:
- Analyse image erreur 'tuple' and 'int'
- Image iso - Guide
- Spybot search and destroy - Télécharger - Antivirus & Antimalwares
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
- Légender une image - Guide
4 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
peux-tu, quand tu partages du code, utiliser les balises de code? https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
As-tu examiné ce que tu obtenais de getpixel()?
peux-tu, quand tu partages du code, utiliser les balises de code? https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
As-tu examiné ce que tu obtenais de getpixel()?
Bonjour,
Pour compléter ce que dit yg_be,
Je t'invite à regarder cet exemple.
Bonne chance
Pour compléter ce que dit yg_be,
getpixelretourne un tuple comme le montre ton message d'erreur, or tu ne peux pas additionner un entier et un tuple (vraisemblablement les valeurs
(red, green, blue)du pixel choisi), d'où ton premier message d'erreur. Le second est d'ailleurs la même erreur, car tu compares un entier et un tuple.
Je t'invite à regarder cet exemple.
Bonne chance
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Je pense que ton code est écrit pour une image en nuances de gris.
Tu dois légèrement l'adapter pour une image en couleur.
Tu dois légèrement l'adapter pour une image en couleur.
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Il suffit peut-être d'ajouter
[0]ainsi:
img.getpixel((i,j))[0]