Browse Source

Algorithmusanpassung

Nutzung der Built-in Funktion der Farbkonvertierung von OpenCV statt ständiger, doppelter Drehung im Algorithmus. Effizienter und schneller!
master
Max Sponsel 3 years ago
parent
commit
28325c408e
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      Code/Dyschromasie.py

+ 3
- 3
Code/Dyschromasie.py View File

@@ -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…
Cancel
Save