Mosaik
Mosaikbilder sind beliebt. Man kann solche Bilder in Online-Generatoren erstellen und dabei eine große Anzahl an eigenen Bildern hochladen, damit man ein gutes Mosaikbild erhält.
Hier wird das Mosaikbild mit dem Programm metapixel
auf dem eigenen PC erstellt.
Installieren
metapixel
ist in den Standard-Ubuntuquellen enthalten.
apt-get install metapixel
Mosaik erstellen
Zum Erstellen eines Mosaikbildes müss folgendes getan werden.
Vorbereitungen
metapixel
arbeitet mit einem eigenen Bildarchiv. Diese muß man auf jeden Fall erst erstellen.
Standardmäßig werden mit dem Befehl metapixel-prepare
Bilder aus einem Quellarchiv in das eigene Bildarchiv kopiert.
Die Bilder werden verkleinert und haben dann standardmäßig die Größe von 128 x 128 Pixeln.
Mit einer kleineren Große erhält man zwar ein Archiv, welches einen kleineren Speicherbedarf einnimmt, die Qualität des Mosaiks wird aber dadurch besser, da mehr dieser Bilder verwendet werden können.
Hier nun das Vorbereiten mit der Größe 60 x 60 Pixel:
mkdir <NAME_FUER_METAPIXEL_LIBRARY> metapixel-prepare -r --width=60 --height=60 <PFAD_ZU_BILDER_QUELLARCHIV> <PFAD_ZU_METAPIXEL_LIBRARY>
So das hat nun bei knapp 13000 Bildern Stunden gedauert.
Ergebnisse mit einer „Intel(R) Core(TM)2 Duo CPU T7500 2.20GHz“ und 13059 Bildern.
Bildgröße | Datenmenge | Dauer |
---|---|---|
60 x 60 Pixel | 115 MB | 2:24 Std. |
128 x 128 Pixel | 358 MB | 2:18 Std. |
Erstellung
Man sollte das Quellbild für das Mosaik noch hochskalieren (z. B. 2048×1536~3,14 MP auf 6144×4608~28,31 MP; also um das 3 fache vergrößert).
Dadurch passen viel mehr Miniaturbilder hinein und das Mosaik wirkt um ein vielfaches besser.
Ansonsten legt man einfach los mit folgendem Befehl:
metapixel --library <PFAD_ZU_METAPIXEL_LIBRARY> --metapixel <PFAD_ZU_QUELLBILD>.jpg|jpeg|png <PFAD_ZU_MOSAIKBILD>.png
Höhe und Breite
Man kann nun noch auch beim Erstellen die Höhe und Breite der Miniaturbilder verändern. Manchmal wird ein Mosaikbild durch Ausprobieren noch besser.
Die Parameter lauten hierfür:
-w <ZAHL> #z. B. -w 128 -h <ZAHL> #z. B. -h 72
Kollage
Man kann nun das Mosaik auch im Kollagenstiel erstellten. Hierbei dürfen sich die Miniaturbilder überlagern.
Das Bild wirkt dann qualitativ besser.
metapixel --collage --library <PFAD_ZU_METAPIXEL_LIBRARY> --metapixel <PFAD_ZU_QUELLBILD>.jpg|jpeg|png <PFAD_ZU_MOSAIKBILD>.png
Cheat
Wem das Ergebnis immer noch nicht reicht, kann schummeln und das Quellbild über das Mosaik überlagern.
metapixel --cheat 80 --library <PFAD_ZU_METAPIXEL_LIBRARY> --metapixel <PFAD_ZU_QUELLBILD>.jpg|jpeg|png <PFAD_ZU_MOSAIKBILD>.png
Hierbei überlagert das Quellbildes mit 80%.
Metric
Mit dem Parameter -m wavelet|subpixel
wird versucht die Miniaturbilder an das Originalbild anzupassen.
Bei „subpixel“ tut sich am Mosaik kaum etwas bis gar nichts. Anscheinend ist dies eh die Standardeinstellung.
Mit „wavelet“ werden die Miniaturbilder im Mosaik schon ganz schön krass fast schon wahllos verwendet. Man könnte sagen dass das Mosaikbild körniger wird.
Bilder verteilen
Man wird merken dass die Miniaturbilder in dem Mosaikbild an manchen Stellen sehr häufig hintereinander vorkommen.
Der Parameter -f 2
gibt an wieviele Bilder zwischen zwei gleichen Bildern sein müssen.
Hier folgt nach dem Parameter die Zahl „2“. Die Zahl sagt aus, dass zwischen zwei gleichen Minibildern mindestens zwei andere liegen müssen.
Der Parameter -d 20
gibt den Abstand an, nach dem sich ein Bild wiederholen darf.
D. h., dass erst mindestens 20 Bilder Abstand sein müssen, bis das selbe Bildchen wieder verwendet wird.
Mit dem Parameter -f 2
könnten ja z. B. immer wieder die selben 3 Bilder verwendet werden. Mit dem Parameter -d 20
wird dies verhindert, weil sich nun mind. 20 andere Bilder zwischen diesen befinden müssen.
Eigene Erfahrungen
- Bilder um das 3-5 fache Hochskalieren
- Miniaturbilder der Größe 60×60 Pixel sind völlig ausreichent
- Bei großer Library mit den Parametern
-d, –distance=DIST
und-f, –forbid-reconstruction=DIST
arbeiten - möglichst nicht mit dem Parameter
-a, –cheat=PERC
schummeln
Persönlich habe ich bei einem Bestand von 13000 Bildern bisher gute Ergebnisse erzielt wenn die Originalbilder (je nach Belieben) entsprechend hochskaliert wurden und die Miniaturbilder eine Größe von 60×60 Pixel hatten.
Die Mosaikbilder werden mit den Parametern -f
und -d
entsprechend aufgewertet.
metapixel -l metapixel_60x60 -f 6 -d 11 --metapixel <QUELLBILD_SCALIERT>.JPG <MOSAIKBILD>.png