Dr. Raphael Wimmer
Sommersemester 2025
Anstelle einer klassischen Vorlesung mit Übung gibt es:
Sie erhalten von mir:
“Aufwendiger Kurs, aber sehr praktisch weswegen es auch Spaß macht und die Zeit die man dafür aufwendet auch schnell verfliegt.”
“Interessante Vorlesung, die mir neue Themen und Anwendungsmöglichkeiten beigebracht hat. Die Einführungen in die OpenGL und OpenCV waren spannend und mir davor nur vom hören bekannt. Die Studienleistungen ließen sich auch gut bearbeiten. Waren am Anfang etwas überfordernd (da es bei mir kaum/kein Vorwissen gab), aber ließen sich meistens doch ganz gut durcharbeiten.”
“Sehr interessante Vorlesung, die viel praktisches Wissen mit sich bringt”
“Sehr interessant, aber man muss am Ball bleiben”
“Die Studienleistungen waren sehr interessant und anspruchsvoll, haben aber auch Spaß gemacht. Hab mir teilweise etwas schwer getan, auch weil mir die Erfahrung mit Python gefehlt hat. [...] Ansonsten sehr interessante und coole Veranstaltung, bei der man auch viel selber herumprobieren durfte (v.a. bei Studienleistungen) und gut erklärte Beispiele bekommen hat.”
Klassische frontale Vorlesung zum Einstieg.
Themen heute:
Danach eine Übung mit:
(kommt noch)
Material:
export
(Linux) bzw. SET
(Windows)PYTHONPATH
)pycodestyle
: Kommandozeilentool, das Code auf PEP-8-Konformität prüftEs gibt drei verbreitete Möglichkeiten, Python-Module zu installieren:
apt
unter Debian/Ubuntu Linux)pip
- Pythons Paketmanagerconda
- Paketmanagement der Anaconda-DistributionUm für jede Anwendung separate Module zu installieren: virtual environments
apt install python3-matplotlib
pip3 install matplotlib
pip3 install -r requirements.txt
: Textdatei mit Paketnamen und ggf. Versionen.pipx
: installiert Python-Programme in einer eigenen virtuellen Umgebung und fügt sie zum Pfad hinzu (Repo / Anleitung)conda
: package manager für Anaconda (Intro).env
anlegen: python3 -m venv .env
source .env/bin/activate
(Linux) / .env\Scripts\activate.bat
conda create --name myenv
/ conda activate myenv
uv python install <Version>
- installiert Pythonuv init <Projektname>
- erzeugt Projektverzeichnis, initialisiert venv und Git.uv add <Package>
- fügt Paket zu Projekt hinzuuv run <script.py>
- führt Script in aktuellem venv ausuv pip <...>
/ uv venv <...>
- wrappt pip/venv
Entwickeln Sie eine Anwendung filtertool, mit der man (destruktiv) Bilder bearbeiten kann. Bilder liegen als RGB- oder Graustufenbild vor und können mit Pillow eingelesen und geschrieben werden. Ansonsten sollen alle Bildoperationen selbst geschrieben werden.
Abgabe: Mi, 28. Mai 2025, 23:59 Uhr (5 Bonuspunkte - pro angefangener weiterer Woche 1 Punkt weniger)
Verpflichtende Features:
python3 filtertool.py --threshold 90 --blur 3 --edges image.jpg
oder python3 filtertool.py --blend screen --opacity 50 image1.jpg image2.jpg
)Wahlpflichtfeatures (3 Features):
python3 app.py --mode simple -a file.txt
Mehrere Möglichkeiten in Python:
sys.argv[]
parsen)dest[RED] = RINT (src[RED] * (levels-1)) / (levels-1);
src/dest in [0.0; 1.0]