Bonjour,

J'ai ce code

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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
from tkinter import *
import tkinter.messagebox
import tkinter.filedialog
from PIL import Image
import sys, os
 
 
def Ouvrir():
    filename = tkinter.filedialog.askopenfilename(title="Ouvrir une image",filetypes=[('all files','.*')])
    print(filename)
 
    photo = PhotoImage(file=filename)
    gifdict[filename] = photo
    print(gifdict)
 
    Canevas.create_image(0,0,anchor=NW,image=photo)
    Canevas.config(height=photo.height(),width=photo.width())
 
    fenetre.title("Image "+str(photo.width())+" x "+str(photo.height()))
 
def Fermer():
    Canevas.delete(ALL)
    fenetre.title("Comparate PlateNumber")
 
def compare(file1, file2):
    image1 = Image.open(file1)
    image2 = Image.open(file2)
    h1 = image1.histogram()
    h2 = image2.histogram()
    rms = math.sqrt(reduce(operator.add,
                           map(lambda a,b: (a-b)**2, h1, h2))/len(h1))
    return rms
 
 
 
fenetre = Tk()
fenetre.title("Image")
 
menubar = Menu(fenetre)
 
 
 
menufichier = Menu(menubar,tearoff=0)
menufichier.add_command(label="Ouvrir une image",command=Ouvrir)
menufichier.add_command(label="Fermer l'image",command=Fermer)
menufichier.add_command(label="Quitter",command=fenetre.destroy)
menubar.add_cascade(label="Fichier", menu=menufichier)
fenetre.config(menu=menubar)
 
label = Label(fenetre, text="Plaque Auto")
label.pack()
bouton = Checkbutton(fenetre, text="Luigi")
bouton.pack()
bouton = Checkbutton(fenetre, text="Corentin")
Button(fenetre, text = 'Comparer', command=compare("img1.png",)?).pack(side=LEFT, padx=5, pady=5)
bouton.pack()
 
photo = PhotoImage(file="img1.png")
zone_dessin = canvas = Canvas(fenetre,width=600, height=150, borderwidth=8)
zone_dessin.create_image(300,65,image=photo)
canvas.pack()
 
Canevas = Canvas(fenetre)
Canevas.pack(padx=5,pady=5)
 
gifdict={}
fenetre.mainloop()
Je n'arrive pas à récupérer le fichier que j'ouvre pour pouvoir le comparer avec l'autre.
Je ne sais pas comment définir l'image ouverte en tant que paramètre de la fonction compare.
Pourriez-vous m'aidez ?