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,36 @@
# Übung 4: Aliasing
In dieser Übung wird das *Aliasing* betrachtet. Der Effekt des *Aliasing* entsteht,
wenn eine Struktur mit einer zu geringen Rate abgetastet wird. Als Beispiel wird das Bild
![](./data/Mauer.png)
verwendet. Programmieren Sie ein Skript, mit dem das Bild eingelesen und mit den Faktoren 2, 4 und 10 skaliert wird.
Zeigen Sie sich die Bilder an. Verwenden Sie während der Skalierung die Nearest-Neighbour Interpolation!
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!
Was fällt Ihnen bei der Betrachtung der Bilder auf?
## Technische Beschreibung des Phänomens
Das Aliasing entsteht durch die Unterabtastung eines Signals. Um ein Signal korrekt darstellen zu können, muss das
[Nyquist-Shannon-Abtasttheorem](https://de.wikipedia.org/wiki/Nyquist-Shannon-Abtasttheorem) beachtet werden.
Die Kreisfrequenz der Abtastung <img src="https://latex.codecogs.com/svg.image?\Omega_T" title="\sum_1" />
muss demnach
<p align="center">
<img src="https://latex.codecogs.com/svg.image?\Omega_T>2\Omega_g" title="\sum_1" />
<p>
beziehungsweise die Abtastfrequenz <img src="https://latex.codecogs.com/svg.image?f_T" title="\sum_1" /> muss
<p align="center">
<img src="https://latex.codecogs.com/svg.image?f_T>2f_g" title="\sum_1" />
<p>
mit der maximalen Kreisfrequenz <img src="https://latex.codecogs.com/svg.image?\Omega_g" title="\sum_1" /> bzw.
maximalen Frequenz <img src="https://latex.codecogs.com/svg.image?f_g" title="\sum_1" /> des Signals sein.

7
1_Grundlagen/ü4/a.py Normal file
View File

@@ -0,0 +1,7 @@
import cv2
''' Öffnen einer Kamera und Initialisierung von Variablen '''
img = cv2.imread("./data/Mauer.png")
cv2.imshow("Original", img)
cv2.waitKey(0)

Binary file not shown.

After

Width:  |  Height:  |  Size: 116 KiB

19
1_Grundlagen/ü4/l_a.py Normal file
View File

@@ -0,0 +1,19 @@
import cv2
''' Öffnen einer Kamera und Initialisierung von Variablen '''
img = cv2.imread("./data/Mauer.png")
cv2.imshow("Original", img)
downscaled2 = cv2.resize(img, dsize=None, fx=0.5, fy=0.5, interpolation=cv2.INTER_NEAREST)
downscaled2_original_size = cv2.resize(downscaled2, dsize=None, fx=2, fy=2, interpolation=cv2.INTER_NEAREST)
cv2.imshow("Abgetastet mit Faktor 2", downscaled2_original_size)
downscaled4 = cv2.resize(img, dsize=None, fx=0.25, fy=0.25, interpolation=cv2.INTER_NEAREST)
downscaled4_original_size = cv2.resize(downscaled4, dsize=None, fx=4, fy=4, interpolation=cv2.INTER_NEAREST)
cv2.imshow("Abgetastet mit Faktor 4", downscaled4_original_size)
downscaled10 = cv2.resize(img, dsize=None, fx=0.1, fy=0.1, interpolation=cv2.INTER_NEAREST)
downscaled10_original_size = cv2.resize(downscaled10, dsize=None, fx=10, fy=10, interpolation=cv2.INTER_NEAREST)
cv2.imshow("Abgetastet mit Faktor 10", downscaled10_original_size)
cv2.waitKey(0)