Fotos skalieren (vergrößern)?

Sound, Digitalkameras, TV+Video und Spiele.
Antworten
Benutzeravatar
martinelli
Beiträge: 192
Registriert: 18.07.2005 07:00:26
Lizenz eigener Beiträge: GNU General Public License
Wohnort: RW

Fotos skalieren (vergrößern)?

Beitrag von martinelli » 06.07.2020 11:08:46

Hallo Gemeinde,

in einem meiner früheren Urlaube habe ich vergessen, meine Digi wieder umzustellen auf 1600x1200 und somit einen Teil der Fotos in 640x480 aufgenommen. Blöderweise sind viele Fotos betroffen, die nur im TV-Format richtig gut aussehen. Gibt es eine Möglichkeit, diese weitgehend verlustfrei zu vergrößern, so dass man sie danach auch gut ansehen kann? Habe bisher schon Einiges versucht, das Ergebnis war aber nie zufriedenstellend.

Vielleicht hat ja von Euch jemand einen guten Tipp...?

Vielen Dank schon mal im Voraus.
Gruß
martinelli

<_42_>

Benutzeravatar
CH777
Beiträge: 1464
Registriert: 27.05.2008 16:37:17

Re: Fotos skalieren (vergrößern)?

Beitrag von CH777 » 06.07.2020 11:19:23

Bei kleinen Vergrößerungen kann das zufriedenstellend werden, aber du bräuchtest sie ja doppelt so groß....
Soweit ich weiß, ist das (noch) nicht möglich.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Fotos skalieren (vergrößern)?

Beitrag von Lord_Carlos » 06.07.2020 11:27:04

Nicht ganz so einfach.
In den letzten Jahren hat sich da was getan mit Hilfe von Machine learning.

https://github.com/alexjc/neural-enhance <-- sieht gut aus.
https://github.com/idealo/image-super-resolution
https://github.com/IBM/MAX-Image-Resolution-Enhancer

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Benutzeravatar
snyborg
Beiträge: 256
Registriert: 08.08.2007 22:07:32
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Fotos skalieren (vergrößern)?

Beitrag von snyborg » 06.07.2020 11:52:59

die Fotos fotografieren?

*SCRN*
Wenn deine Freunde Linux haben, wechsel zu Linux.
Wenn deine Freunde BSD haben, wechsel zu BSD.
Wenn deine Freunde Windows haben, wechsel deine Freunde.

Benutzeravatar
Animefreak79
Beiträge: 299
Registriert: 25.11.2017 12:29:51
Lizenz eigener Beiträge: GNU General Public License

Re: Fotos skalieren (vergrößern)?

Beitrag von Animefreak79 » 06.07.2020 15:40:32

Mein Vorschlag: Zunächst benutze einfach ein Vektorgrafikprogramm, beispielsweise Debianlibreoffice-draw mit dem du dein Bild auf die gewünschte Größe verlustfrei hochskalierst. Von diesem vergößerten Pic tätigst du ganz einfach einen Screenshot mit dem Tool deiner Wahl, ich ziehe hier Debiankazam vor, bei manchen Desktops geht das glaube ich auch mit

Code: Alles auswählen

Druck
oder auch

Code: Alles auswählen

ALT+Druck
Wenn dies getan ist, öffnest du deinen Screenshot ganz einfach mit Debiangimp mit dessen Auswahlwerkzeugen du, falls nötig, noch den etwaig vorhandenen Rand abschneiden kannst... Dann speicherst du dein Bild (bzw exportierst) in dem gewünschten Format. Fertig!
~ Never change a flying system ~

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Fotos skalieren (vergrößern)?

Beitrag von wanne » 06.07.2020 15:47:09

Bei kleinen Vergrößerungen kann das zufriedenstellend werden, aber du bräuchtest sie ja doppelt so groß....
Nein mehr als 6 mal so groß.
Gibt es eine Möglichkeit, diese weitgehend verlustfrei zu vergrößern, so dass man sie danach auch gut ansehen kann?
Was ist denn dein Problem? Ich finde das etwas verwirrend. 640x480 sieht auf 1280cm mal 960cm halt einfach nicht toll aus. Das ist halt per definition pxlig. Das hat aber nichts mit dem Bild zu tun sondern mit der Bildschirmgröße. Willst du "nur" verlustfrei haben oder willst du mehr?
Das ist per Definiton verlustbehaftet aber man kann da Sachen machen, dass Bilder in schlechter Qualität nicht ganz so schlimm aussehen.
IMHO braucht man da nicht mit ML drauf hauen. Kubisch interpolieren führt IMHO immer noch zu besseren Ergebnissen. Das ist auch das was bessere Bildbetrachter machen, wenn du die Bilder auf einem höher aufgelösten Bildschirm kleine anguckst. TVs stellen sich meist dümmer an. Ist aber ein bisschen geschmackssache.

Edit: Habe mich verlesen. Und implizit 1600x900 angenommen. Obwohl da 1600x1200 steht.

Mehr:
https://trac.ffmpeg.org/wiki/Scaling
https://www.imagemagick.org/Usage/resize/
rot: Moderator wanne spricht, default: User wanne spricht.

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Fotos skalieren (vergrößern)?

Beitrag von wanne » 06.07.2020 17:05:49

Oder als kürzere Antwort:
Nur verlustfrei:

Code: Alles auswählen

ffmpeg -i bildin.png -vf "scale=1600:1200" -sws_flags neighbor out.png
oder besser:

Code: Alles auswählen

convert bildin.png -filter triangle -resize 1600x1200 out.png
Für Photos meist deutlich schöner aus:

Code: Alles auswählen

ffmpeg -i bildin.png -vf "scale=1600:1200" out.png
Für Zeichnungen kann man eventuell noch irgend welche schärfe Filter drüber hauen. Würde aber sicher sagen, dass die nur manchmal wirklich bessere Ergebnisse bringen.
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
MSfree
Beiträge: 10752
Registriert: 25.09.2007 19:59:30

Re: Fotos skalieren (vergrößern)?

Beitrag von MSfree » 06.07.2020 17:22:43

Ich habe hier mal ein kleines 50x50 Pixel großes Bild einiger Touristen auf dem Hiddenseer Leuchtturm:
2699
Skaliert man das auf die einfachste Art um den Faktor 8 hoch, bekommt man wie erwartet Legosteine:
2698
Etwas besser wird es mit bilinearer Interpolation:
2697
Der Schärfeeindruck mit bikobischer Interpolation ist nochmals ein wenig besser:
2696
Verlustfrei sind alle Verfahren, da beim Vergrößern ja keine Details verloren gehen können wie beim Verkleinern. Man kann aber auch mit Interpolationsmethoden keine neuen Details dazu rechnen. Es wird halt größer, aber nicht besser, man verliert aber auch nichts.

Das ist alles einfach mit gimp zu erreichen. Noch besser wird es dann mit KI-Methoden. In der c't gab es dazu mal eine Bericht, bin aber zu faul zum Suchen.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Fotos skalieren (vergrößern)?

Beitrag von Lord_Carlos » 06.07.2020 18:13:05

MSfree hat geschrieben: ↑ zum Beitrag ↑
06.07.2020 17:22:43
2699
Skaliert man das auf die einfachste Art um den Faktor 8 hoch, bekommt man wie erwartet Legosteine:
2698
2700
2701
2702

:D

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Fotos skalieren (vergrößern)?

Beitrag von wanne » 06.07.2020 18:55:46

Verlustfrei sind alle Verfahren, da beim Vergrößern ja keine Details verloren gehen können wie beim Verkleinern
bilinear ist für einen Faktor unter 1.5 pro Achse nicht verlustfrei. Für bicubic brauchst du glaube ich sogar 2.5.
Problem ist, dass da in ein Pixel im großen Bild 4 aus dem Ursprünglichen einfließen. Du hast dann zwar mehr als eventuell 6 Pixel in die die wieder einfließen. Trotzdem ist dann unmöglich nochmal zu lokalisieren, welches Pixel wo war.
Ich habe hier mal ein kleines 50x50 Pixel großes Bild einiger Touristen auf dem Hiddenseer Leuchtturm:
Das Ding hat jpeg-Artefakte des Todes. Wo kommt das denn her?
Im Allgemeinen. Wenn du Artefakte im Bild hast, willst du die los werden das macht ärger beim Skalieren. bicubic kommt da meist noch am besten mit zurecht. (Deswegen nimmt man den so gerne für Photos,) Aber es bleibt hässlich.
:D
Sieht schön aus. Ich glaube leider nicht, dass das was mit dem Original zu tun hat.
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
MSfree
Beiträge: 10752
Registriert: 25.09.2007 19:59:30

Re: Fotos skalieren (vergrößern)?

Beitrag von MSfree » 06.07.2020 19:41:42

wanne hat geschrieben: ↑ zum Beitrag ↑
06.07.2020 18:55:46
bilinear ist für einen Faktor unter 1.5 pro Achse nicht verlustfrei. Für bicubic brauchst du glaube ich sogar 2.5.
Generell gilt das für jede nicht ganzzahlige Vergrößerung. Man kann nicht die ursprünglichen Intensitätswerte zurückrechnen. Die Ortsfrequenz bleibt aber bei einer Vergrößerung erhalten und damit auch die ursprünglichen Details.
Das Ding hat jpeg-Artefakte des Todes. Wo kommt das denn her?
Das Original habe ich mit einer Pen E-P3 aufgenommen. Das Bild habe ich dann auf 1920x1200 verkleinert,um es als Hintergrundbild verwenden zu können. Dabei habe ich es als JPG abgespeichert und einen relativ kleinen Q-Faktor gewählt (ich glaube ca. 70). Als Hintergrundbild fallen die Artefakte nicht auf. Komischerweise sieht man JPG-Artefakte bei einer Vergrößerung um den Faktor 8 am besten, weshalb die natürlich auch bei der von mir gewählten Vergrößerung um den Faktor 8 extrem aufallen.

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Fotos skalieren (vergrößern)?

Beitrag von Lord_Carlos » 06.07.2020 21:11:57

Was soll das einfach vergroessern eigentlich bringen?
Macht ein Bildbetrachter was anderes?

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

wanne
Moderator
Beiträge: 7462
Registriert: 24.05.2010 12:39:42

Re: Fotos skalieren (vergrößern)?

Beitrag von wanne » 06.07.2020 21:14:48

Man kann nicht die ursprünglichen Intensitätswerte zurückrechnen.
Doch sobald du genug Punkte hast, kannst du die Funktion eindeutig bestimmen. Für Bilinear mit über dem Faktor 2 in beide Richtungen ist das super primitiv: Du nimmst 2 beliebige Pixel zwischen den beiden pixeln die auf der selben x-Achse liegen. Dann kannst du da ne gerade durch legen. dann nimmst du die beiden darüber liegenden und machst das selbe. Dadurch hast du 2 schnittpunkte mit der y-Achse. Danach kannst du linear über die y Achse interpollieren. und du hast exakt den ursprünglichen Wert.
Generell gilt das für jede nicht ganzzahlige Vergrößerung.
Nö nearest neigbor kannst du schon wenn du um den Faktor 1.001 streckst zurück rechnen. Es gibt für das kleienre bild immer einen Punkt, der der nearest neigbor ist.

Hier verschiedene Vergrößerungsvarianten
https://nextcloud.zdv.uni-tuebingen.de/ ... aRZGEkPYgf

Der folgenden Bilder:
https://commons.wikimedia.org/wiki/File ... 40x480.jpg
https://commons.wikimedia.org/wiki/File ... 40x480.jpg
https://commons.wikimedia.org/wiki/File ... 40x480.jpg
https://commons.wikimedia.org/wiki/File ... 40x480.jpg
https://www.flickr.com/photos/80775449@N00/2956709581
https://www.flickr.com/photos/10175585@N06/2981880269
https://www.flickr.com/photos/10175585@N06/2982720398
https://www.flickr.com/photos/10175585@N06/2981935789

In script.sh könnt ihr nachgucken, was ich genommen habe. Prinzipiell sollte/kann man da eigentlich noch den Colorspace wechseln. Habe ich mir geschenkt, weil die Effekte bei der Auflösung IMHO eher lächerlich sind.
Vielleicht will Lord_Carlos jetzt noch ein mal seine ML-Docker Images drüber laufen lassen?
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Re: Fotos skalieren (vergrößern)?

Beitrag von Revod » 07.07.2020 10:10:56

Das 10 Fache vergrössert sieht es dann so aus,

2704

Edit:

Zweite Übung mit Gimp

Bild

:)
Systemd und PulseAudio, hmmm, nein danke.

Benutzeravatar
martinelli
Beiträge: 192
Registriert: 18.07.2005 07:00:26
Lizenz eigener Beiträge: GNU General Public License
Wohnort: RW

Re: Fotos skalieren (vergrößern)?

Beitrag von martinelli » 09.07.2020 08:18:41

Hallo an alle,

danke für eure zahlreichen Antworten, ich werde mir alle in Ruhe ansehen und testen. Vielleicht gibt es ja dann tatsächlich ein [gelöst] ... :wink:
Gruß
martinelli

<_42_>

Benutzeravatar
DebianNeuling2020
Beiträge: 124
Registriert: 22.03.2020 12:16:43

Re: Fotos skalieren (vergrößern)?

Beitrag von DebianNeuling2020 » 09.07.2020 22:37:21

Mein Vorschlag: Zunächst benutze einfach ein Vektorgrafikprogramm, beispielsweise Debianlibreoffice-draw mit dem du dein Bild auf die gewünschte Größe verlustfrei hochskalierst.
Sorry, dieser Vorschlag ist absoluter Blödsinn. MIt einem Vektorenprogramm skaliere ich Vektordaten verlustfrei größer oder kleiner weil die Abbildungen aus Koordinaten bestehen die mit Linien und Flächen definiert werden. In diesem Thread geht es aber das Vergrößern von Bildern, also Pixeldaten. Ist also völlig was anderes!!!

Hallo Martinelli, ich persönlich kann von Interpolation von solchen Größen nur abraten weil es nichts bringt. Selbst mit professioneller Software wirst du hier an deine Grenzen stoßen. Dann schau dir die Bilder lieber in der Größe an wie sie 1zu1 aussehen, ärgere dich jedesmal darüber das du die Einstellungen nicht geändert hast und nimm dies zum Anlass es beim nächsten Mal besser zu machen.
Tower PC Intel Core i5 4x3,4 GHz / 16 GB DDR3 RAM, GeForce GT 1030 mit 2 GB GDDR5
128 GB SSD + 500 GB HDD, Drucker: Brother DCP-J572DW, BS: Debian Buster XFCE

Benutzeravatar
smutbert
Moderator
Beiträge: 8331
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: Fotos skalieren (vergrößern)?

Beitrag von smutbert » 09.07.2020 23:06:39

Abhängig davon was man mit den Bildern vor hat, hilft es nach dem Vergrößern Rauschen oder mit einem Filter simuliertes Filmkorn hinzuzufügen. Speziell bei einigen der Vergrößerungsmethoden, die Lord Carlos gepostet hat und die sehr „glatte“ Ergebnisse liefern, könnte ich mir vorstellen, dass es damit besser aussieht.
Ganz besonders überzeugend finde ich das Vorgehen bei Ausdrucken oder Ausbelichtungen.

debianoli
Beiträge: 4072
Registriert: 07.11.2007 13:58:49
Lizenz eigener Beiträge: MIT Lizenz

Re: Fotos skalieren (vergrößern)?

Beitrag von debianoli » 10.07.2020 06:33:58

Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
06.07.2020 11:27:04
Nicht ganz so einfach.
In den letzten Jahren hat sich da was getan mit Hilfe von Machine learning.

https://github.com/alexjc/neural-enhance <-- sieht gut aus.
https://github.com/idealo/image-super-resolution
https://github.com/IBM/MAX-Image-Resolution-Enhancer
Ich hab mir das kurz durchgelesen. Wie läuft das jetzt konkret ab: Ich installiere die Software und dann geht das Programm meine Fotosammlung durch, um zu lernen? Oder muss man zu Lernen Bilder gezielt auswählen, die das Programm dann zum Lernen herannimmt?

Und das IBM Projekt, das ist doch eine Api? Ich nutze dabei alos einen Server, der bereits gelernt hat?

Benutzeravatar
Lord_Carlos
Beiträge: 5578
Registriert: 30.04.2006 17:58:52
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Dänemark

Re: Fotos skalieren (vergrößern)?

Beitrag von Lord_Carlos » 10.07.2020 11:23:23

debianoli hat geschrieben: ↑ zum Beitrag ↑
10.07.2020 06:33:58
Lord_Carlos hat geschrieben: ↑ zum Beitrag ↑
06.07.2020 11:27:04

https://github.com/alexjc/neural-enhance <-- sieht gut aus.
Ich hab mir das kurz durchgelesen. Wie läuft das jetzt konkret ab: Ich installiere die Software und dann geht das Programm meine Fotosammlung durch, um zu lernen?
Das erste Projekt scheint schon trainiert zu sein.
A list of example command lines you can use with the pre-trained models provided in the GitHub releases:

Code: Alles auswählen

╔═╗┬ ┬┌─┐┌┬┐┌─┐┌┬┐╔╦╗
╚═╗└┬┘└─┐ │ ├┤ │││ ║║
╚═╝ ┴ └─┘ ┴ └─┘┴ ┴═╩╝ rockt das Forum!

Antworten