[[Vorlage(Getestet, bionic)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Programme starten: Ein Programm starten] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis]] [[Bild(Wiki/Icons/terminal.png, 48, align=left)]] [https://www.complang.tuwien.ac.at/schani/metapixel/ Metapixel] {en} ist ein Kommandozeilenprogramm, mit dem man ein [wikipedia:Fotomosaik:] erzeugen kann. Man gibt ein Zielbild vor, das anschließend aus vielen kleinen Bildern zusammengesetzt wird ([https://www.complang.tuwien.ac.at/schani/metapixel/examples.html Beispiele] {en}). Eine grafische Alternative zu Metapixel ist im Programm [:nomacs#Mosaikbild-erstellen:] integriert. = Installation = Metapixel ist in den offiziellen Paketquellen enthalten und lässt sich so bequem installieren [1]: {{{#!vorlage Paketinstallation metapixel, universe }}} Danach kann die Anwendung durch Aufruf des Programmnamens [2] gestartet werden. = Vorbereitung = Um mit dem Programm sinnvoll zu arbeiten, sollte man eine Vielzahl von Bildern haben. Empfehlenswert sind (mindestens) um die 1000 Bilder. Damit lassen sich schon recht gute Ergebnisse erzielen. Bevor man allerdings loslegen kann, müssen diese Bilder dem Programm erst mal bekannt gemacht werden. Das Programm liest die Bilder ein und speichert ihre Farbwerte für die spätere Verwendung ab. == Ersteinrichtung == Zur Ersteinrichtung muss ein Arbeitsverzeichnis für das Programm angelegt werden. Dort werden dann automatisch die Bilder gespeichert, die zur Mosaikerstellung verwendet werden. Dazu erstellt man im [:Homeverzeichnis:] den versteckten Ordner '''~/.metapixel/'''. Natürlich kann man auch über das Terminal [3] den Ordner anlegen: {{{#!vorlage Befehl mkdir ~/.metapixel }}} Nun teilt man dem Programm mit, mit welchen Original-Bildern es arbeiten soll. Dazu gibt man diesen Befehl im Terminal ein: {{{#!vorlage Befehl metapixel-prepare -r pictures_folder .metapixel }}} Der Pfad '''pictures_folder''' stellt dabei den Quell-Pfad mit den Original-Bildern dar. Diesen sollte man auf jeden Fall anpassen und hier am besten die zu verwendenden Bilder hinein kopieren. Wenn man diesen Befehl aufgerufen hat, dauert es je nach Anzahl der im Ordner enthaltenen Bilder eine Weile. Danach hat metapixel die erforderliche Bild-Bibliothek angelegt und man kann nun mit der wirklichen Erstellung des Photo-Mosaiks beginnen. = Erstellung von Photo-Mosaiken = Metapixel bietet eine Vielzahl von Einstellungsmöglichkeiten. Wer sich eingehender damit befassen möchte, dem sei geraten, sich den Quellcode von der [https://www.complang.tuwien.ac.at/schani/metapixel/ Projektseite] {dl} herunterzuladen und in der "Readme" nachzulesen. Erst einmal die grundlegende Syntax: {{{#!vorlage Befehl metapixel --metapixel input_file.jpg output_file.jpg -l ~/.metapixel/ --cheat=30 --width=35 --height=35 --metric=wavelet --distance=20 }}} ||<-2 cellstyle="background-color: #E2C890;" :> '''Übersicht der Parameter''' || || '''Parameter''' || '''Bedeutung / Auswirkung''' || || <^> `input_file.jpg` || hier gibt man das Bild an, das als Vorlage für das Endbild dient bzw. das Bild, das man gerne als Mosaik haben möchte. || || `output_file.jpg` || die Datei, die als Endprodukt herauskommt. || || <^> `cheat=30` || metapixel legt das Original-Bild nach der Rasterung wieder über das Ergebnis. Mit diesem Parameter kann man angeben, wie stark die Deckkraft der Überlagerung ist. Hier ist ein Wert zwischen 0 und 100 möglich. Bei `--cheat=30` ist das Original-Bild zu 30% wieder zu sehen. Mit dieser Standardeinstellung erzielt man eigentlich recht gute Effekte. || || `width=35` || gibt die Breite der kleinen Bildchen an, die das Photomosaik bilden. || || `height=35` || gibt die Höhe der kleinen Bildchen an, die das Photomosaik bilden. || || `metric=wavelet` || Metapixel versucht auf [#Methode-Metric zwei verschiedene Arten], die Mini-Bilder an das Originalbild anzupassen. Mögliche Werte sind: "wavelet" und "subpixel" || || <^> `distance=20` || gibt den Abstand an, nach dem sich ein Bild wiederholen darf. "distance=20" beispielsweise bewirkt, dass erst mindestens 20 Bilder Abstand sein müssen, bis das selbe Bildchen wieder verwendet wird. Je höher man diesen Wert setzt, desto genauer wird das Bild - allerdings verliert es an "Qualität", d.h. die einzelnen Bilder tauchen wesentlich häufiger wieder auf. Um dies zu umgehen, sollte man so viele verschiedene Bilder in seine Galerie importieren wie möglich. Hat man nur wenige Bilder zur Verfügung empfiehlt es sich, den Wert niedriger zu setzen, bis hin zu ``1``.|| Weitere Optionen sind der [:man:Manpage] zu entnehmen. == Bilder skalieren == Wer diesen Befehl mit den richtigen Pfadangaben für Input- und Output-File ausführt, wird feststellen, dass ein Original-Bild von z.B. 600 Pixeln Breite auch nur wieder in ein Bild von 600 Pixeln Breite übersetzt wird. Um dies zu beeinflussen, gibt es den "`scale`"-Parameter. Das Beispiel mit 600 Pixel breitem Bild: Übergibt man nun den Parameter `"--scale=2"`, wird die Bildgröße verdoppelt. So wird aus einem 600 x 400 Pixel Bild ein 1200 x 800 Pixel großes Mosaik. Dies ist insbesondere bei sehr kleinen Bildern nützlich. == Methode/Metric == Der Unterschied zwischen ``metric=wavelet`` und ``metric=subpixel`` lässt sich schwer erklären. Allerdings lieferte in den Tests ``subpixel`` bessere Ergebnisse. Wenn man mit dem Ergebnis nicht zufrieden ist, sollte man auf jeden Fall die jeweils andere Methode ausprobieren. == "search" == Ein weiterer Parameter ist `search`; dieser lässt 2 Werte zu: * ``global`` * ``local`` Bei `local` darf sich ein Mini-Bild im Mosaik wiederholen. Mit ``global`` darf sich ein Mini-Bild im Mosaik nicht wiederholen! Dies setzt natürlich voraus, dass man genügend Mini-Bildchen hat. Möchte man zum Beispiel ein Bild mit den Maßen 500 x 500 Pixel mit 25 x 25 Pixel großen Mini-Bildern erstellen, dann braucht man mindestens 20 x 20 = 400 verschiedene Bilder. Natürlich müssen darunter auch (fast) alle im Original-Bild vertretenen Farben sein. Ansonsten führt dies zum Abbruch der Mosaik-Erstellung. = Beispiel = Beim Testen wurde ein sehr zufriedenstellendes Ergebnis mit folgenden Einstellungen erzielt (600 Pixel breites Original-Bild und ca. 1000 Bilder in der Bibliothek): {{{#!vorlage Befehl metapixel --metapixel originalbild.jpg output.jpg -l ~/.metapixel/ --cheat=40 --width=128 --height=72 --metric=subpixel --distance=3 --scale=15 }}} = Links = * [packages:pixelize:Pixelize] {en} - Alternativprogramm mit grafischer Oberfläche, in den offiziellen Paketquellen enthalten * [:Fotowall:] - grafisches Programm zum Erstellen von Foto-Collagen * [:Grafik:] {Übersicht} Übersichtsseite #tag: Grafik, Multimedia