Inhaltsverzeichnis

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

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