Einfügen eines Sliders
Um den Grad der Faarbblindheit korrekt zu Simulieren, muss ein Widget eingebaut werden, welches den prozentualen Anteil der Differenz zwischen Simulation und echtem Wert vergleicht und mit dem ausgewählten Wert (z. B. 80%) neu gewichtet.
This commit is contained in:
parent
d1cd073fde
commit
da88618ce6
@ -53,7 +53,8 @@ class Protanopie(Dyschromasie):
|
|||||||
# Einzelne Pixelwertberechnung
|
# Einzelne Pixelwertberechnung
|
||||||
for i in range(self.rows):
|
for i in range(self.rows):
|
||||||
for j in range(self.cols):
|
for j in range(self.cols):
|
||||||
self.cb_image[i, j] = np.flipud(self.T_reversed.dot(self.sim_mat).dot(self.T).dot(np.flipud(self.cb_image[i, j])))
|
self.cb_image[i, j] = np.flipud(
|
||||||
|
self.T_reversed.dot(self.sim_mat).dot(self.T).dot(np.flipud(self.cb_image[i, j])))
|
||||||
|
|
||||||
self.sim_image = np.copy(self.cb_image)
|
self.sim_image = np.copy(self.cb_image)
|
||||||
self.sim_image = self.sim_image.astype('uint8')
|
self.sim_image = self.sim_image.astype('uint8')
|
||||||
@ -83,7 +84,8 @@ class Deuteranopie(Dyschromasie):
|
|||||||
# Einzelne Pixelwertberechnung
|
# Einzelne Pixelwertberechnung
|
||||||
for i in range(self.rows):
|
for i in range(self.rows):
|
||||||
for j in range(self.cols):
|
for j in range(self.cols):
|
||||||
self.cb_image[i, j] = np.flipud(self.T_reversed.dot(self.sim_mat).dot(self.T).dot(np.flipud(self.cb_image[i, j])))
|
self.cb_image[i, j] = np.flipud(
|
||||||
|
self.T_reversed.dot(self.sim_mat).dot(self.T).dot(np.flipud(self.cb_image[i, j])))
|
||||||
|
|
||||||
self.sim_image = np.copy(self.cb_image)
|
self.sim_image = np.copy(self.cb_image)
|
||||||
self.sim_image = self.sim_image.astype('uint8')
|
self.sim_image = self.sim_image.astype('uint8')
|
||||||
@ -112,7 +114,8 @@ class Tritanopie(Dyschromasie):
|
|||||||
# Einzelne Pixelwertberechnung
|
# Einzelne Pixelwertberechnung
|
||||||
for i in range(self.rows):
|
for i in range(self.rows):
|
||||||
for j in range(self.cols):
|
for j in range(self.cols):
|
||||||
self.cb_image[i, j] = np.flipud(self.T_reversed.dot(self.sim_mat).dot(self.T).dot(np.flipud(self.cb_image[i, j])))
|
self.cb_image[i, j] = np.flipud(
|
||||||
|
self.T_reversed.dot(self.sim_mat).dot(self.T).dot(np.flipud(self.cb_image[i, j])))
|
||||||
|
|
||||||
self.sim_image = np.copy(self.cb_image)
|
self.sim_image = np.copy(self.cb_image)
|
||||||
self.sim_image = self.sim_image.astype('uint8')
|
self.sim_image = self.sim_image.astype('uint8')
|
||||||
@ -124,6 +127,7 @@ class Tritanopie(Dyschromasie):
|
|||||||
self.sim_image[i, j, x] = self.reverseGammaCorrection(self.cb_image[i, j, x])
|
self.sim_image[i, j, x] = self.reverseGammaCorrection(self.cb_image[i, j, x])
|
||||||
return self.sim_image
|
return self.sim_image
|
||||||
|
|
||||||
|
|
||||||
root = tk.Tk()
|
root = tk.Tk()
|
||||||
root.title("Projekt Dyschromasie")
|
root.title("Projekt Dyschromasie")
|
||||||
|
|
||||||
@ -135,6 +139,10 @@ kanaele = 0
|
|||||||
sim_pro = tk.IntVar(root)
|
sim_pro = tk.IntVar(root)
|
||||||
sim_deut = tk.IntVar(root)
|
sim_deut = tk.IntVar(root)
|
||||||
sim_tri = tk.IntVar(root)
|
sim_tri = tk.IntVar(root)
|
||||||
|
simGrad = tk.IntVar(root)
|
||||||
|
|
||||||
|
simulationsGradient = tk.Scale(root, from_=0, to_=100, variable=simGrad, orient='horizontal')
|
||||||
|
simulationsGradient.grid(column= 0, row = 1, columnspan=10)
|
||||||
|
|
||||||
def browse():
|
def browse():
|
||||||
# Auswahl des FilePaths
|
# Auswahl des FilePaths
|
||||||
@ -200,7 +208,6 @@ def simulate():
|
|||||||
sim_pic_pro.grid(columnspan=5)
|
sim_pic_pro.grid(columnspan=5)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
btn = tk.Button(root, text="Browse", width=25, command=browse, bg='light blue')
|
btn = tk.Button(root, text="Browse", width=25, command=browse, bg='light blue')
|
||||||
btn.grid(column=0, row=0, columnspan=2)
|
btn.grid(column=0, row=0, columnspan=2)
|
||||||
|
|
||||||
@ -212,8 +219,8 @@ checkButton_p = tk.Checkbutton(root, text="Protanop", variable=sim_pro, onvalue=
|
|||||||
checkButton_d = tk.Checkbutton(root, text="Deutanop", variable=sim_deut, onvalue=1, offvalue=0, height=5, width=20)
|
checkButton_d = tk.Checkbutton(root, text="Deutanop", variable=sim_deut, onvalue=1, offvalue=0, height=5, width=20)
|
||||||
checkButton_t = tk.Checkbutton(root, text="Tritanop", variable=sim_tri, onvalue=1, offvalue=0, height=5, width=20)
|
checkButton_t = tk.Checkbutton(root, text="Tritanop", variable=sim_tri, onvalue=1, offvalue=0, height=5, width=20)
|
||||||
|
|
||||||
checkButton_p.grid(column = 0, row = 1)
|
checkButton_p.grid(column=0, row=2)
|
||||||
checkButton_d.grid(column = 1, row = 1)
|
checkButton_d.grid(column=1, row=2)
|
||||||
checkButton_t.grid(column = 2, row = 1)
|
checkButton_t.grid(column=2, row=2)
|
||||||
|
|
||||||
root.mainloop()
|
root.mainloop()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user