From bb625895a0e4a7a18bf620e9de0e64d67f36ec58 Mon Sep 17 00:00:00 2001 From: Max Sponsel Date: Fri, 26 Jun 2020 12:45:14 +0200 Subject: [PATCH] =?UTF-8?q?Gammakorrektur=20f=C3=BCr=20Bildarray?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Kopie unseres Bildarrays wurde erstellt und auf floats gecastet. Bereinigte Werte können jetzt mit der Transformationsmatrix T multipliziert werden!! --- Code/Dyschromasie.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Code/Dyschromasie.py b/Code/Dyschromasie.py index 3725ec5..1ac15a0 100644 --- a/Code/Dyschromasie.py +++ b/Code/Dyschromasie.py @@ -12,6 +12,7 @@ rows = image.shape[0] # Auslesen der Zeilenanzahl cols = image.shape[1] # Auslesen der Spaltenanzahl kanaele = image.shape[2] # Auslesen der Kanaele (3 fuer RGB, 1 fuer Graubild) + def gammaCorrection(v): if v <= 0.04045 * 255: return float(((v / 255) / 12.92)) @@ -21,8 +22,6 @@ def gammaCorrection(v): print("Ungültiger Wert!!") return 1 -print(gammaCorrection(image[0,0,0])) - def reverseGammaCorrection(v_reverse): if v_reverse <= 0.0031308: return int(255 * (12.92 * v_reverse)) @@ -33,14 +32,15 @@ def reverseGammaCorrection(v_reverse): return 1 -cb_image = np.copy(image) +cb_image = np.copy(image) #Kopie des Bildarrays +cb_image = cb_image.astype('float64') #Casting des Arrays auf Float +#Korrektur des Gamma Faktors für alle Bildelemente for i in range(rows): for j in range(cols): for x in range(3): - cb_image[i,j,x] = gammaCorrection(float(image[i,j,x])) + cb_image[i, j, x] = gammaCorrection(float(image[i, j, x])) -print(cb_image[0,0]) ''' 0.31399022 0.63951294 0.04649755 Transformationsmatrix zum Konvertieren vom linearen RGB zum LMS Farbraum T = 0.15537241 0.75789446 0.08670142 Multiplikation aus Brucelindbloom und Hunt-Pointer-Estevez Matrixen