Ich bin jetzt einfach zu faul, zum Suchen. In AviSynth gibt es doch die Möglichkeit, nach Herzenslust zu filtern. Könnte man AviSynth nicht auch für die Bildbearbeitung, z. B. zum Verkleinern, Nachschärfen und Entrauschen von Bildern aus der Digitalkamera, verwenden? Ich hätte da nämlich so eine Idee.
Benötigt wird:
- AviSynth+
- Fritz Photo 2020.07.08 (Vorlagen vom: 08.07.2020)
Um in den Genuss weiterer Grafikformate zu kommen, sollte man nach der Installation noch die beiden folgenden benutzerspezifischen Umgebungsvariablen erstellen:
- MAGICK_HOME = <Fritz-Photo-Programmverzeichnis>\dll\ImageMagick
- MAGICK_CODER_MODULE_PATH = <Fritz-Photo-Programmverzeichnis>\dll\ImageMagick
Diese werden von Immaavs, einem auf ImageMagick basierenden Plugin, benötigt. Damit lassen sich zahlreiche weitere Grafikformate einlesen und erstellen.
1. Bilder
Es werden die Formate BMP, JPG, PNG, PPM, TGA und TIF unterstützt, je nach Fähigkeiten des verwendeten AviSynth-Filters zum Einlesen von Bildern. Über "Start-Skript..." kann ein anderes Skript zum Einlesen von Bildern ausgewählt werden. Zur Auswahl stehen: ImageSource und ImmaRead.
2. Zuschneiden
Vor der eigentlichen Bildbearbeitung kann ein Bild noch gedreht und beschnitten werden.
3. AviSynth-Skripte
Im Vorlagenverzeichnis befinden sich bereits einige Skripte. Diese können mit Hilfe der Jobliste individuell zusammengestellt und abgeändert werden. Zum Hinzufügen und Entfernen eines Skripts genügt ein Doppelklick auf das jeweilige Skript (Drag and Drop wird ebenfalls unterstützt). Die wichtigsten Parameter sind in einem Block am Anfang des jeweiligen Skripts zusammengefasst. Diese Parameter können entweder direkt im Skript oder mit Hilfe des Skriptinspektors bearbeitet werden. Mit "Hinzufügen..." lassen sich Skripte auch außerhalb des Vorlagenverzeichnisses hinzufügen. Mit "Neu" können alle Einträge in der Jobliste entfernt und eine neue Auswahl gestartet werden. Mit "Erneut laden" kann ein vorher ausgewähltes Skript erneut eingelesen werden.
4. Vorschau
In der Vorschau kann man "Vorher" mit "Nachher" vergleichen. Durch Drücken von "Aktualisieren" wird die Vorschau gestartet. Mit den Cursor-Tasten kann man dabei bequem zwischen den Ansichten hin- und herschalten. Es wird dasjenige Bild angezeigt, welches unter "Bilder" ausgewählt ist. Ist kein Bild ausgewählt, wird standardmäßig das erste Bild aus der Liste genommen. Wenn man unter "AviSynth-Skripte" ein Skript in der Jobliste ausgewählt hat, dann kann man genau von diesem Filter einen Vorher-Nachher-Vergleich machen. Ist kein Skript ausgewählt, so erscheint in der Vorschau das Originalbild und das endgültige Bild (alle Skripte werden abgearbeitet). Durch einen rechten Mausklick kann ein Vorschaufenster auch einzeln aktualisiert werden. Der Schalter "Synchronisiere Vorschaufenster" sorgt dafür, dass die beiden Vorschaufenster "Vorher" und "Nachher" stets den gleichen Bildausschnitt zeigen (sofern möglich).
5. Einstellungen
Beim JPG-Format kann man zwischen einer festen und einer variablen JPG-Qualität wählen. Im letzten Fall gibt man einfach eine Dateigröße an, die nicht überschritten werden darf. Das Programm ermittelt dann die maximal mögliche JPG-Qualität. Mit Suchen und Ersetzen kann man den Dateinamen den eigenen Bedürfnissen anpassen. Es können hierbei sogar reguläre Ausdrücke verwendet werden. Falls "Suffix" aktiviert ist, dann haben die Ausgabedateien die folgende Form: <Originaldateiname>_<Breite>x<Höhe>.<ext>. Ist "Suffix" deaktiviert, dann ändert sich der Dateiname nicht. Wenn kein Zielverzeichnis angegeben wird, werden die Dateien in das gleiche Verzeichnis geschrieben, wo sich die Originaldateien befinden. Die Einstellungen, die beim Start des Programms Gültigkeit haben sollen, können in einer INI-Datei bearbeitet werden.
Wie erstelle ich ein Fritz-Photo-Script?
Ein Fritz-Photo-Script ist nichts anderes als ein strukturiertes AviSynth-Script mit zusätzlichen Kommentaren versehen. In diesen zusätzlichen Kommentaren sind Anweisungen für den Scriptinspektor enthalten. Ein jedes Script unterstützt dabei die folgenden Formate: YV12, YV24 und RGB32. Am Beispiel des Rotate-Scripts sei die Struktur eines Fritz-Photo-Scripts kurz erläutert.
# ==============================================================================
# http://avisynth.org.ru/rotate/rotate.html
# ==============================================================================
angle = 0.0
color = 0
width = 0
height = 0
# ==============================================================================
# angle = True, False, Beginner, Rotation angle in degrees clock wise | float
# color = True, False, Intermediate, Ellipsis, ColorDialog, Background color of part of image | int
# width = True, False, Intermediate, Width of the destination output image | int
# height = True, False, Intermediate, Height of the destination output image | int
# ==============================================================================
LoadPlugin("plugins\Rotate\Rotate.dll")
isYV12() ? YV12ToYV24() : isYV24() ? NOP() : NOP()
Rotate(angle=angle, color=color, width=width, height=height)
Display More
Ein Fritz-Photo-Script lässt sich in 4 Bereiche unterteilen.
- Info über das Plugin
- Parameter
- Parameter für den Scriptinspektor
- Das eigentliche Script
Der erste Bereich ist der sog. Info-Bereich. Hier kann man in einer oder mehreren Zeilen etwas zum Plugin schreiben. In der Regel steht hier einfach ein Link zur entsprechenden Homepage des Plugins.
Der zweite Bereich umfasst die Parameter, die im Script Verwendung finden. Die hier niedergeschriebenen Parameter werden auch im Scriptinspektor angezeigt.
Im dritten Bereich kann man für die einzelnen Parameter Eigenschaftswerte für den Scriptinspektor hinterlegen, und zwar in der folgenden Bedeutung: „Sichtbarkeit, Nur-Lesen-Modus, Ballonhilfe für den Parameter | Ballonhilfe für den Wert“. Auch eine Liste mit vordefinierten Werten lässt sich erzeugen (siehe z. B. SSSharp.avs). Wenn keine Eigenschaftswerte für einen Parameter festgelegt sind, dann wird der Parameter mit den Werten „True, False, Beginner“ belegt.
Im vierten und letzten Bereich befindet sich das eigentliche Script. Es beginnt mit der LoadPlugin- und der Import-Sektion. Im Anschluss wird nach dem Farbformat gefragt, also, ob es sich um das YV12-, YV24- oder um das RGB32-Farbformat handelt. Je nachdem, was das Script bzw. Plugin für eine Farbe benötigt, erfolgt eine entsprechende Umwandlung. Im Beispiel von oben kann das Farbformat entweder YV24 oder RGB32 sein. Liegt dieses bereits vor, so muss auch nichts umgewandelt werden.
Wenn man nun ein Script für das Farbformat YV12 schreiben will, so bedient man sich am Besten eines der Vorlagen, die dem zukünftigen Script am nächsten kommt. Im Falle von YV12 bedient man sich am Besten des Scripts „TNLMeans.avs“ und passt das Script entsprechend an. Für ein reines RGB32-Script kann als Arbeitsgrundlage das Script „RGBAdjust.avs“ hergenommen werden.