Initial commit with project files
This commit is contained in:
10
1_Grundlagen/ü2/README.md
Normal file
10
1_Grundlagen/ü2/README.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Übung 2: Luminanz vs. Chrominanz
|
||||
|
||||
Was glauben Sie: Hat die Farbinformation oder die Helligkeitsinformation eine höhere Interpretierbarkeit für den Menschen?
|
||||
|
||||
Programmieren Sie ein Skript, mit dem sie Ihre Webcam auslesen, modifizieren und ausgeben. Entfernen Sie die Helligkeitsinformation
|
||||
bzw. Farbinformation und betrachten das Ergebnis. Wird Ihre initiale Einschätzung bestätigt? Schreiben Sie Ihr Skript in
|
||||
die Datei [a.py](a.py). Die Lösung ist in der Datei [l_a.py](l_a.py) zu finden!
|
||||
|
||||
|
||||
**Hinweis:** Verwenden Sie in Bild Ihrer Wahl, wenn keine Webcam zur Verfügung steht.
|
||||
26
1_Grundlagen/ü2/a.py
Normal file
26
1_Grundlagen/ü2/a.py
Normal file
@@ -0,0 +1,26 @@
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
||||
''' Öffnen einer Kamera und Initialisierung von Variablen '''
|
||||
cap = cv2.VideoCapture(0)
|
||||
mode = "CHROMINANZ" # CHROMINANZ, LUMINANZ
|
||||
window_name = "Ergebnis mit %s" % mode
|
||||
|
||||
''' Auslesen, Modifizieren und Ausgeben von Bildern'''
|
||||
while True:
|
||||
ret, frame = cap.read()
|
||||
|
||||
if mode == "CHROMINANZ":
|
||||
frame = ...
|
||||
elif mode == "LUMINANZ":
|
||||
frame = ...
|
||||
else:
|
||||
raise Exception("FALSCHER MODE!!!")
|
||||
|
||||
cv2.imshow(window_name, frame)
|
||||
if cv2.waitKey(1) & 0xFF == ord('q'):
|
||||
break
|
||||
|
||||
''' Fenster schließen, nachdem q gedrückt wurde '''
|
||||
cap.release()
|
||||
cv2.destroyAllWindows()
|
||||
31
1_Grundlagen/ü2/l_a.py
Normal file
31
1_Grundlagen/ü2/l_a.py
Normal file
@@ -0,0 +1,31 @@
|
||||
import cv2
|
||||
import numpy as np
|
||||
|
||||
''' Öffnen einer Kamera und Initialisierung von Variablen '''
|
||||
cap = cv2.VideoCapture(0)
|
||||
mode = "RGB" # CHROMINANZ, LUMINANZ
|
||||
window_name = "Ergebnis mit %s" % mode
|
||||
|
||||
''' Auslesen, Modifizieren und Ausgeben von Bildern'''
|
||||
while True:
|
||||
ret, frame = cap.read()
|
||||
|
||||
if mode == "LUMINANZ":
|
||||
# Farbinformationen entfernen
|
||||
frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
|
||||
elif mode == "CHROMINANZ":
|
||||
# Normalisieren: p_r / (p_r + p_g + p_b), p_g / (p_r + p_g + p_b), p_b / (p_r + p_g + p_b)
|
||||
pixel_sum = np.sum(frame, keepdims=True, axis=2)
|
||||
frame = frame.astype(np.float32) / pixel_sum
|
||||
elif mode == "RGB":
|
||||
pass
|
||||
else:
|
||||
raise Exception("FALSCHER MODE!!!")
|
||||
|
||||
cv2.imshow(window_name, frame)
|
||||
if cv2.waitKey(1) & 0xFF == ord('q'):
|
||||
break
|
||||
|
||||
''' Fenster schließen, nachdem q gedrückt wurde'''''
|
||||
cap.release()
|
||||
cv2.destroyAllWindows()
|
||||
Reference in New Issue
Block a user