wie skaliert man ein Bild Mathematisch?

3 Antworten

Eine Skalierung ist eine lineare Abbildung:

Dabei ist x die Position eines Pixels im originalen Bild, b ist die Position des Pixels nach der Skalierung, und S ist die Skaliermatrix mit Faktor alpha, der die Stärke der Skalierung festlegt.

Soll das Bild z.B. doppelt so groß werden, wählt man

Und so sieht die Skaliermatrix aus für ein Bild, das im Ursprung zentriert ist:

Der Vektor wird also einfach gestreckt. Ist das Bild nicht zentriert, kann man es zuerst zentral in den Ursprung verschieben, dann skalieren, und danach wieder an die alte Position verschieben.

Und wie man das berechnen muss. Und es ist nicht so trivial wie man zunächst vermutet. Es fängt damit, dass man zunächst prüft, ob das auf Maximum skalierte Bild zuerst die unteren und oberen Bildränder erreicht oder die seitlichen Bildränder. Somit ist zunächst eine Verhältnisabfrage notwendig.

Bild zum Beitrag

Und je nach Ausgang der Verhältnisabfrage ist ein anderer Formelsatz für die Skalierung und Zentrierung notwendig. Hier ein Beispiel, wo das Bild zuerst am linken und rechten Rand am Anschlag ist. Somit muss die obere und untere Randbreite berechnet werden.

Bild zum Beitrag

Nach Skalierung und Zentrierung

Bild zum Beitrag

Woher ich das weiß:Hobby
 - (rechnen, Gleichungen, Formel)  - (rechnen, Gleichungen, Formel)  - (rechnen, Gleichungen, Formel)
wie skaliert man ein Bild Mathematisch?

Mit eine Multiplikation?

Verstehe die Frage vermutlich nicht.

Wenn du das Seitenverhältnis beibehalten willst, musst du beide Dimensionen mit dem gleichen Faktor skalieren, ansonsten kannst du die Faktoren in jeder Richtung frei wählen.