Initial commit with project files

This commit is contained in:
2025-06-27 14:34:11 +02:00
commit 7ea3207e63
310 changed files with 9331 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
# Übung 1: Helligkeitsausgleich
In dieser Übung wird ein Helligkeitsausgleich durchgeführt. Gegeben sind drei Bilder von Texten wie exemplarisch unten
dargestellt. Zu sehen ist, dass die mittlere Beleuchtung des Bildes lokal stark variiert. Auf Algorithmen, die beispielweise
Schwellwerte auf Gurndlage der Helligkeit nutzen, können diese Unterschiede störend wirken. Im folgenden soll daher ein
Helligkeitsausgleich durchgeführt werden, nachdem die mittlere lokale Helligkeit in jedem Bildsegment gleich ist.
![alt text](../../data/text_3.jpg)
## Aufgabe a)
In der Datei [a.py](a.py) werden drei Bilder geladen. Führen Sie den Helligkeitsausgleich auf allen Bildern durch und zeigen
Sie sie an.

View File

@@ -0,0 +1,13 @@
import numpy as np
import cv2
KERNEL_SIZE = 20
# Einlesen des Bildes
filepath = "../../data/text_%s.jpg"
images = list()
for i in [1, 2, 3]:
img = cv2.imread(filepath % i)
img = cv2.resize(img, (500, 500))
images.append(img)

View File

@@ -0,0 +1,34 @@
import numpy as np
import cv2
KERNEL_SIZE = 20
# Einlesen des Bildes
filepath = "../../data/text_%s.jpg"
images = list()
for i in [1, 2, 3]:
img = cv2.imread(filepath % i)
img = cv2.resize(img, (500, 500))
images.append(img)
def balance(img):
kernel = np.ones((KERNEL_SIZE, KERNEL_SIZE)) / (KERNEL_SIZE * KERNEL_SIZE)
blurred = cv2.filter2D(img, -1, kernel=kernel)
img = img / blurred
img = 255 * (img - np.min(img)) / (np.max(img) - np.min(img)) # Normieren auf Wertebereich {0, ..., 255}
img = img.astype(np.uint8)
print(np.max(img), np.min(img))
return img
balanced_images = list()
for img in images:
balanced_image = balance(img)
balanced_images.append(balanced_image)
for i, (image, balaced_image) in enumerate(zip(images, balanced_images)):
cv2.imshow("Text%s" % (i + 1), image)
cv2.imshow("AusgeglichenerText%s" % (i + 1), balaced_image)
cv2.waitKey(0)