ubuntuusers.de

Erfahrungen beim Schärfen von Bildern - hier Imagemagick

Status: Ungelöst | Ubuntu-Version: Ubuntu MATE 20.04 (Focal Fossa)
Antworten |

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6467

Wohnort: Hamburg

Zur Verwaltung meiner Bilddateien verwende ich gerne sog. Index-Dateien. Also so etwas, wie man früher beim analogen Film als Übersichtsbild mit allen Einzelbildern bekommen hat. Das kann man zwar auch mit feh erreichen, aber ich möchte da mehr Flexibilität, indem ich Texte einfüge, und benötige nicht alle Einzelbilder. Daher habe ich mit einem eigenen Programm und mit Imagemagick eine eigene Lösung gebastelt.

Mir ist dabei aufgefallen, dass die verkleinerten Vorschaubilder dabei immer etwas unscharf sind (was bei jeder Skalierung passiert). Also habe ich versucht, die verkleinerten Bilder nachzuschärfen. Allerdings mit mäßigem Erfolg. Ich habe sowohl schärfen (-sharpen) als auch unscharf maskieren (-unsharp) probiert. Die Ergebnisse sind fast gleich und unterscheiden sich eigentlich nur im Aufwand.

Im Anhang zeige ich mal 2 Bilder, eines "naturbelassen" und das andere mit sigma=0.7 nachgeschärft. Das zweite Bild ist jetzt zwar nicht wirklich auffällig, da es nur ganz am linken Rand eine helle Doppelkontur zeigt. Aber bei anderen Bildern, die ich wegen Copyright Problemen hier nicht zeigen möchte, ist das deutlich extremer (schon bei Sigma=0.4). Also immer an scharfen Hell-Dunkel Übergängen.

In einem anderen Programm, wo ich direkten Zugriff auf die Pixeldaten habe, hatte ich einen den einfachen Algorithmus von hier angewandt. Mein Eindruck ist, dass dieser, wenn nicht besser, dann aber immerhin feiner steuerbar ist. Testen kann ich das aber leider nicht, da ich momentan nur PNG Dateien erzeugen kann und bei allen anderen Formaten auf externe Programme (Imagemagick) angewiesen bin (für libjpg konnte ich bisher keine brauchbaren tutotials finden). Somit habe ich hier keinen Zugriff auf die Pixeldaten.

Letztendlich wird die Datei mit folgender Kommandozeile erzeugt:

debug:
convert -size 480x170! xc:#FFFFFF \
-draw "image over 10,10 100,150 'IMGP1117.jpg'" -sharpen 0x0.70 \
-draw "image over 120,47 170,113 'IMGP1116.jpg'" -sharpen 0x0.70 \
-draw "image over 300,47 170,113 'IMGP1118.jpg'" -sharpen 0x0.70 \
-fill "#4040FF" -font Helvetica-Bold -pointsize 28 -gravity center \
-annotate 0x0+55-61 "Eicher Traktor" -quality 95 Traktor3.jpg

Die Zeilenumbrüche habe ich wegen der Lesbarkeit manuell eingefügt.

Gibt es Alternativen, oder muss ich mit dem unbefriedigendem Ergebnis leben?

Bilder

shinichi

Anmeldungsdatum:
14. März 2008

Beiträge: 735

Wohnort: Lausitz + Honshu

Also ich finde 480 px × 170 px und weniger schon sehr klein. Beim Verkleinern gehen schon viele Pixel und deren Informationen flöten, sodass dann eben gewisse Bildobjekte (Linien, Verläufe etc.) unvollständig wirken und das resultiert dann im Eindruck der Unschärfe. Die Schärfungs-Algorithmen danach nutzen zudem ja nur die Pixel, die ihnen zur Verfügung stehen. Bei kleinen Bildern gibts weniger Pixel, sodass die Algorithmen dann eben auch nicht so gute Ergebnisse liefern, als wenn mehr Pixel für die Berechnungen da wären. Auch ist jedes Bild anders, was heißt, dass eine gewisse feste Parameter-Einstellung eben verschiedene Auswirkungen auf verschiedene Bilder erzeugt. Um sowas auszugleichen braucht man sicherlich recht gute Bilderkennung und Algorithmen, die schon in den Bereich AI reingehen.

Einfache Lösung finde ich: Einfach größere Vorschaubilder benutzen, sodass der Schärfeeindruck nicht so groß abfällt bzw. Konturkorrekturen besser aussehen. Die meisten Geräte, die heute verwendet werden, haben durchaus kein Problem mit Bildern, die 1000 px × 1000 px und größer sind.

Dakuan

(Themenstarter)
Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6467

Wohnort: Hamburg

Ich denke, ob ein Bild zu groß oder zu klein ist ist, hängt vom Anwendungsfall ab. In meinem Fall soll nur eine Bilderserie (oder ein Teil davon) charakterisiert werden. Zusätzlich benutze ich diese Bilder als Container für Textinformation im Kommentar Bereich. Das kann dann später mal die Grundlage für eine Datenbank werden. Momentan habe ich aber nur eine einfache Liste.

Aber trotzdem möchte ich natürlich "ordentliche" Bilder haben.

Die Schärfungs-Algorithmen danach nutzen zudem ja nur die Pixel, die ihnen zur Verfügung stehen. Bei kleinen Bildern gibts weniger Pixel, ...

Das hat mit der absoluten Bildgröße nichts zu tun. Zur Verfügung stehen immer nur die Pixel aus der näheren Umgebung und die wird durch den Radius angegeben. Ich konnte aber bisher nicht erkennen, welche Auswirkung das hat. Jedenfalls konnte ich damit bisher keine merkbare Verbesserung erzielen. Ich hatte gehofft, dazu einige Hinweise zu bekommen.

Einfache Lösung finde ich: Einfach größere Vorschaubilder benutzen ...

Das ist nicht immer die Lösung. Wenn das Programm, welches die Suchergebnisse anzeigen soll, die zugehörigen Bilder selber verkleinern muss, wurde das Problem nur verschoben.

Aber falls es Dich beruhigt, für meine Video Dateien erzeuge ich auch Vorschaubilder, die in eine 256x256 Pixel Box eingepasst sind. Bisher habe ich allerdings nur zwei Programme, die diese Größe ausnutzen können.

Antworten |