Skip to content

Commit a11ca3d

Browse files
authored
A new unfinished function for comparing two videos
Available by right-clicking on the canvas. Zoom improved
1 parent f11a09e commit a11ca3d

1 file changed

Lines changed: 66 additions & 60 deletions

File tree

VVC_GUI_Encoder.py

Lines changed: 66 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -59,66 +59,72 @@ def btnOpenVid(): os.popen(videoselect.get())
5959
def btnOpenVid2(): os.popen(saveto.get())
6060
def on_canvas_click(event):open_window()
6161
def open_window():
62-
frame = 0
63-
new_window = tkinter.Toplevel()
64-
new_window.geometry('1000x560')
65-
new_window.title('Comparison')
66-
canvas2 = Canvas(new_window, width=1000, height=500)
67-
canvas2.place(x=0, y=50)
68-
i = None
69-
i2 = None
70-
zoom=0
71-
def update_canvas():
72-
nonlocal frame, i, i2
73-
if i is not None:
74-
canvas2.delete(i)
75-
if i2 is not None:
76-
canvas2.delete(i2)
77-
def update_image(videoname, side):
78-
nonlocal i, i2,zoom
79-
os.system(f'ffmpeg_vvceasy.exe -y -i "{videoname}" -vf "select=eq(n\,{frame})" -frames:v 1 temp.jpg')
80-
image = Image.open('temp.jpg')
81-
image.thumbnail((500, 500))
82-
width, height = image.size
83-
image = image.resize((width+zoom, height+zoom), Image.ANTIALIAS)
84-
if side == "left":
85-
i = ImageTk.PhotoImage(image)
86-
canvas2.create_image(0, 0, anchor='nw', image=i)
87-
88-
elif side == "right":
89-
i2 = ImageTk.PhotoImage(image)
90-
canvas2.create_image(500, 0, anchor='nw', image=i2)
91-
os.remove('temp.jpg')
92-
update_image(videoselect.get(), "left")
93-
update_image(saveto.get(), "right")
94-
def increase_frame():
95-
nonlocal frame
96-
frame += 1
97-
update_canvas()
98-
def decreace_frame():
99-
nonlocal frame
100-
frame -= 1
101-
if frame < 0:
102-
frame = 0
103-
update_canvas()
104-
def increase_image():
105-
nonlocal zoom
106-
zoom=zoom+15
107-
update_canvas()
108-
def decrease_image():
109-
nonlocal zoom
110-
zoom=zoom-15
111-
update_canvas()
112-
button1 = Button(new_window, text='<--', command=decreace_frame)
113-
button1.place(x=50, y=10)
114-
button2 = Button(new_window, text='-->', command=increase_frame)
115-
button2.place(x=150, y=10)
116-
button3 = Button(new_window, text=' + ', command=increase_image)
117-
button3.place(x=250, y=10)
118-
button4 = Button(new_window, text=' - ', command=decrease_image)
119-
button4.place(x=300, y=10)
120-
update_canvas()
121-
new_window.mainloop()
62+
frame = 0
63+
new_window = tkinter.Toplevel()
64+
new_window.geometry('1000x560')
65+
new_window.title('Comparison')
66+
canvas2 = Canvas(new_window, width=1000, height=500)
67+
canvas2.place(x=0, y=50)
68+
i = None
69+
i2 = None
70+
zoom=0
71+
def update_canvas():
72+
nonlocal frame, i, i2
73+
if i is not None:
74+
canvas2.delete(i)
75+
if i2 is not None:
76+
canvas2.delete(i2)
77+
def update_image(videoname, side):
78+
nonlocal i, i2,zoom
79+
os.system(f'ffmpeg_vvceasy.exe -y -i "{videoname}" -vf "select=eq(n\,{frame})" -frames:v 1 temp.jpg')
80+
image = Image.open('temp.jpg')
81+
image.thumbnail((500, 500))
82+
width, height = image.size
83+
widthoriginal=width
84+
if width+zoom>=widthoriginal:
85+
image = image.resize((width+zoom, height+zoom), Image.ANTIALIAS)
86+
if side == "left":
87+
i = ImageTk.PhotoImage(image)
88+
canvas2.create_image(0, 0, anchor='nw', image=i)
89+
elif side == "right":
90+
i2 = ImageTk.PhotoImage(image)
91+
if width+zoom<=500:canvas2.create_image(width+zoom, 0, anchor='nw', image=i2)
92+
if width+zoom>=500:canvas2.create_image(500, 0, anchor='nw', image=i2)
93+
else:
94+
if side == "left":
95+
i = ImageTk.PhotoImage(image)
96+
canvas2.create_image(0, 0, anchor='nw', image=i)
97+
elif side == "right":
98+
i2 = ImageTk.PhotoImage(image)
99+
canvas2.create_image(width, 0, anchor='nw', image=i2)
100+
zoom=0
101+
os.remove('temp.jpg')
102+
update_image(videoselect.get(), "left")
103+
update_image(saveto.get(), "right")
104+
def update(act):
105+
nonlocal frame
106+
nonlocal zoom
107+
if act == "inc_f":
108+
frame += 1
109+
elif act == "dec_f":
110+
frame -= 1
111+
if frame < 0:
112+
frame = 0
113+
elif act == "inc_z":
114+
zoom += 15
115+
elif act == "dec_z":
116+
zoom -= 15
117+
update_canvas()
118+
b1 = Button(new_window, text='<--',command=lambda:update("dec_f"))
119+
b1.place(x=50, y=10)
120+
b2 = Button(new_window, text='-->',command=lambda:update("inc_f"))
121+
b2.place(x=150, y=10)
122+
b3 = Button(new_window, text='+',command=lambda:update("inc_z"))
123+
b3.place(x=250, y=10)
124+
b4 = Button(new_window, text='-',command=lambda:update("dec_z"))
125+
b4.place(x=300, y=10)
126+
update_canvas()
127+
new_window.mainloop()
122128

123129
audv=['a','b','1','c','2','d','3','e','f','4','g','5','6','7','8','9']
124130
audvn=['50','62','64','74','80','86','96','98','110','112','122','128','144','160','176','192']

0 commit comments

Comments
 (0)