From 18510bb70645d78f0961b38e76110a6f64bffa58 Mon Sep 17 00:00:00 2001 From: Leonard Kugis Date: Fri, 23 Dec 2022 02:35:48 +0100 Subject: Stub --- 01_imageloader.py | 41 +++++++++++++++++++++++++++ 01_pythonintro.py | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 01_imageloader.py create mode 100644 01_pythonintro.py diff --git a/01_imageloader.py b/01_imageloader.py new file mode 100644 index 0000000..1c3d66d --- /dev/null +++ b/01_imageloader.py @@ -0,0 +1,41 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + + +import cv2 +import matplotlib.pyplot as plt + + +# TODO Aufgabe 5 + +''' +Schreiben Sie eine Funktion `showImage(..)`, die ein übergebenes Bild `img` in einem Fenster mit dem übergebenen Titel `title` anzeigt und wartet bis es geschlossen wird, bevor das Programm weiter ausgeführt wird. Beachten Sie, dass OpenCV (BGR) und Matplotlib (RGB) verschiedene Farbformate nutzen. Anzuzeigende Bilder sollen also entsprechend konvertiert werden. Das Beispielbild zeigt beispielsweise einen orangenen (keinen blauen) Kolibri. +''' +# +# ??? +# + +''' +Schreiben Sie eine Funktion `imageStats(..)`, die die Höhe, Breite und Anzahl der Farbkanäle des übergebenen Bildes als String zurückgibt. +''' +# +# ??? +# + +# load image +img = cv2.imread('images/hummingbird_from_pixabay.png') + + +''' +- Färben Sie nun den Kolibri grün, indem Sie den Rot- und Grünkanal des Bildes vertauschen. +- Zeigen Sie das Bild nacheinander im Original und mit vertauschten Farben an. +- Geben Sie die Bildeigenschaften aus. +- Speichern Sie das veränderte Bild (als `images/bluebird.png`) auf der Festplatte. +''' +# Bild anzeigen +plt.figure("Hummingbird Original") +plt.imshow(img) +plt.show() +# +# ??? +# diff --git a/01_pythonintro.py b/01_pythonintro.py new file mode 100644 index 0000000..d27aa85 --- /dev/null +++ b/01_pythonintro.py @@ -0,0 +1,85 @@ +#!/usr/bin/python3 +# -*- coding: utf-8 -*- + + +print("Hallo Welt!") + + +# TODO Aufgabe 2 + +''' +Erzeugen Sie eine Liste mit den Werten 1 bis 20 +''' +# +# ??? +# + + +''' +Quadrieren Sie alle ungeraden Elemente (die geraden bleiben unverändert) +''' +# +# ??? +# + + +''' +Lesen Sie Zahlen vom Keyboard ein, bis insgesamt vier Zahlen eingelesen wurden und sortieren Sie diese aufsteigend +''' +# +# ??? +# + + + +# TODO Aufgabe 3 + +''' +Schreiben Sie für das Quadrieren einer Liste eine separate Funktion +''' +# +# ??? +# + + +''' +Schreiben Sie eine rekursive Funktion, die die Summe aller Elemente einer Liste berechnet +''' +# +# ??? +# + + +''' +Berechnen Sie den arithmetischen Mittelwert aller Elemente einer Liste (nutzen Sie dabei die bereits in Python existierende Summenfunktion `sum(list)`) +''' +# +# ??? +# + + + +# TODO Aufgabe 4 + +''' +Implementieren Sie eine einfache Klasse Vec2 die einen 2-dimensionalen Vektor repräsentieren soll. Die Klasse soll folgende Eigenschaften haben + +- Zwei Variablen x und y um die Werte des Vektors zu speichern. Diese sollen über einen Konstruktor __init__(self, x, y) (mit zwei Unterstrichen vor und nach dem init jeweils) initialisiert werden können. +- Eine Klassenfunktion __str__(self), die die Werte des Vektors in geeigneter Form als String zurückgibt +- Eine Klassenfunktion length(self), die die euklidische Länge des Vektors zurückgibt +- Eine Klassenfunktion add(self, rhs), die die komponentenweise Addition von zwei Vektoren durchführt und einen neuen Vektor zurückgibt. +- Eine globale Klassenvariable gid und eine lokale Klassenvariable id, die genutzt werden, um jedem erzeugten Vektor eine eigene ID zuzuweisen. +- Testen Sie Ihre Implementation mit Beispielen. +''' + +from math import sqrt + +# Vec2-Klasse +# +# ??? +# + +# Vec2 Demo +# +# ??? +# -- cgit v1.2.1