Bonjour, je suis en terminale S et je développe un programme pour mon projet d'ISN.
Dans mon programme je doit détecter un rectangle dans une image et obtenir les coordonnées du pixel le plus en haut à gauche du rectangle. Au préalable j'ai transformé l'image en couleur en niveau et de gris et effectuer un seuillage pour la passer en noir et blanc.
J'ai donc ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from PIL import Image
 
im1 = Image.open('Sans titre.jpg') 
L,H = im1.size 
im2 = Image.new ("L",(L,H)) 
im3 = Image.new ("L",(L,H)) 
 
coor=[0,0]
for y in range(H):
    for x in range(L):
        r, g, b = im1.getpixel((x,y))
        gris = (r + g +b)/3
        im2.putpixel((x,y),(gris))
im2.save("niveau-gris.jpg")
 
im2 = Image.open('niveau-gris.jpg')
L,H = im2.size
seuil=20                          #int(input("Choississez le seuil, entre 0 et 255")) #On demande à l'utilisateur la valeur du seuil qu'il souhaite.
for y in range(H): #Pour y prenant sa valeur dans H.
    for x in range(L): #Pour x prenant sa valeur dans L.
        p = im2.getpixel((x,y)) # p prend la valeur de chaque pixel de l'image 1.
        if p >=seuil: #Si p est supérieur ou égal au seuil,
            im3.putpixel((x,y),(255)) #On fixe la valeur du pixel à 255 (blanc).
        if p <seuil: 
            im3.putpixel((x,y),(0)) 
im3.save("image-seuillage.jpg") 
im3.show()
 
h=0
n=0
for y in range(H) :
    raz = 0
    for x in range (L):
        m = im3.getpixel((x,y))
        n = im3.getpixel((x-raz,y))
        raz = 1
        if m != n :
            for x in range(L) :
                p = im3.getpixel((x,y))
                if p <= 20 :
                    h = h+1
                    if h == 20 :
                        coor=[x,y]
print(coor)

Et lorsque je le lance j'ai le message d'erreur "new style getargs format but argument is not a tuple"
Je sais pas d'où ça viens, je ne vois pas de tuple dans mon programme, est ce que cela peut venir du fait que j'aurais une ancienne version du logiciel ? Je ne pense pas que cela vienne des deux premières parties car avant que je fasse la 3e ça marchais très bien.
Donc voila, merci d'avance à ceux qui m'aideront.