37 lines
983 B
Python
37 lines
983 B
Python
import numpy as np
|
|
import cv2
|
|
|
|
# Einlesen des Bildes
|
|
filepath = "../../data/lena.png"
|
|
img = cv2.imread(filepath)
|
|
|
|
'''
|
|
Anwendung der Schritte:
|
|
0. Für die Berechnung werden die Bilder in das kontinuierliche np.float64 konvertiert.
|
|
1. In Wertebereich {0, ..., 127}
|
|
2. In Wertebereich {0, ..., 3}
|
|
3. In Wertebereich {0, ..., 255}
|
|
'''
|
|
|
|
img_step0 = img.astype(np.float64)
|
|
img_step1 = np.round(127 * np.copy(img_step0) / 255)
|
|
img_step2 = np.round(3 * np.copy(img_step1) / 127)
|
|
img_step3 = np.round(255 * np.copy(img_step2) / 3)
|
|
|
|
'''
|
|
Für die Darstellung von np.float64 Bildern wird der Wertebereich von {0, ..., n_max} in [0, 1] projeziert.
|
|
Dabei entspricht der Wert 1 dem ehemaligen Maximum n_max.
|
|
'''
|
|
|
|
img_step0 = img_step0 / 255
|
|
img_step1 = img_step1 / 127
|
|
img_step2 = img_step2 / 3
|
|
img_step3 = img_step3 / 255
|
|
|
|
cv2.imshow("Schritt 0", img_step0)
|
|
cv2.imshow("Schritt 1", img_step1)
|
|
cv2.imshow("Schritt 2", img_step2)
|
|
cv2.imshow("Schritt 3", img_step3)
|
|
|
|
cv2.waitKey(0)
|