Algorithmusanpassung
Nutzung der Built-in Funktion der Farbkonvertierung von OpenCV statt ständiger, doppelter Drehung im Algorithmus. Effizienter und schneller!
This commit is contained in:
parent
dad7554c71
commit
28325c408e
@ -7,7 +7,7 @@ from PIL import Image, ImageTk #Wichtig zum Anzeigen der Bilder im GUI
|
||||
# Einlesen des Bildes
|
||||
script_dir = sys.path[0]
|
||||
path = script_dir[:-4] + "Beispielbilder\grocery_store.jpg"
|
||||
image = cv2.imread(path) # Einlesen des Bildes (noch hardcodiert, sollte dann in GUI gehen)
|
||||
image = cv2.cvtColor(cv2.imread(path),cv2.COLOR_BGR2RGB) # Einlesen des Bildes (noch hardcodiert, sollte dann in GUI gehen)
|
||||
|
||||
rows = image.shape[0] # Auslesen der Zeilenanzahl
|
||||
cols = image.shape[1] # Auslesen der Spaltenanzahl
|
||||
@ -77,7 +77,7 @@ S_t = np.array([[1, 0, 0], #Simulationsmatrix fuer Tritanopi
|
||||
#Multiplikation der einzelnen Pixel
|
||||
for i in range(rows):
|
||||
for j in range(cols):
|
||||
cb_image[i,j] = np.flipud(T_reversed.dot(S_p).dot(T).dot(np.flipud(cb_image[i,j])))
|
||||
cb_image[i,j] = T_reversed.dot(S_p).dot(T).dot(cb_image[i,j])
|
||||
# Da OpenCV Pixelwerte in RGB speichert, aber BGR für den Algorithmus nötig ist, muss die Matrix mit flipud gedreht werden
|
||||
|
||||
sim_image = np.copy(cb_image)
|
||||
@ -90,5 +90,5 @@ for i in range(rows):
|
||||
sim_image[i, j, x] = reverseGammaCorrection(cb_image[i, j, x])
|
||||
|
||||
cv2.namedWindow("Display") # Displaywindow erstellen
|
||||
cv2.imshow("Display", sim_image) # Bild zeigen
|
||||
cv2.imshow("Display", cv2.cvtColor(sim_image,cv2.COLOR_RGB2BGR)) # Bild zeigen
|
||||
cv2.waitKey(0) # Fenster offen halten
|
||||
|
Loading…
x
Reference in New Issue
Block a user