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,22 @@
# Übung 6: Forward-Mapping / Backward-Mapping
In dieser Übung wird das *Forward-Mapping* und das *Backward-Mapping* bei geometrischen Transformationen betrachtet.
Sie interessieren Sich für den Wert des Pixels an der Stelle **(x=12, y=38)** des Bildes
![](../../data/car.png)
nach der Transformation mit der Transformationsvorschrift
<p align="center">
<img src="https://latex.codecogs.com/svg.image?\begin{pmatrix}&space;x'\\y'\end{pmatrix}&space;=\begin{pmatrix}&space;0.5&space;&&space;0\\0&space;&&space;0.5\end{pmatrix}\cdot\begin{pmatrix}&space;x\\y\end{pmatrix}.&space;" title="\begin{pmatrix} x'\\y'\end{pmatrix} =\begin{pmatrix} 0.5 & 0\\0 & 0.5\end{pmatrix}\cdot\begin{pmatrix} x\\y\end{pmatrix} ." />
</p>
Berechnen Sie den Wert des Pixels an der Stelle **(x=12, y=38)** nach der Transformation unter Anwendung des Backward- und Forward-Mappings!
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!
Vergleichen Sie Die Methoden: Wie unterscheiden Sie sich? Welche Vor- und Nachteile haben die Methoden?

View File

@@ -0,0 +1,13 @@
import cv2
import numpy as np
img = cv2.imread("../../data/car.png")
cv2.imshow("Car", img)
print("Image Shape:", img.shape)
print("\nForward-Mapping")
print("\nBackward-Mapping")
cv2.waitKey(0)

View File

@@ -0,0 +1,29 @@
import cv2
import numpy as np
img = cv2.imread("../../data/car.png")
cv2.imshow("Car", img)
print("Image Shape:", img.shape)
print("\nForward-Mapping")
new_image = np.zeros((int(img.shape[0] / 2), int(img.shape[1] / 2), img.shape[2]), dtype=np.uint8)
for x in range(img.shape[1]):
for y in range(img.shape[0]):
new_image[int(y/2), int(x/2)] = img[y, x]
cv2.imshow("Forward-Mapping", new_image)
print("Pixel at position x=12, y=38", new_image[38, 12])
print("\nBackward-Mapping")
# Inverse Transformation:
# (x, y)^T = ([2, 0] * (x', y')^T
# [0, 2])
p_12_38 = img[38*2, 12*2]
print("Pixel at position x=12, y=38", p_12_38)
cv2.waitKey(0)