Foto-Mosaik-Algorithmus. Wie erstelle ich ein Mosaik-Foto mit dem Grundbild und einer Liste von Kacheln?

8

Hy.Was muss ich tun, um ein Programm zu erstellen (mit C oder C ++), das eine 24bit / Pixel-Bitmap und eine Sammlung von Bildern als Eingabe benötigt und ein Mosaikbild erstellen muss, ähnlich dem Eingabebild Verwenden der Bibliothek von Bildern gegeben (um ein Mosaik Foto ähnlich der Eingabe zu erstellen).

Bisher kann ich auf die Bildpixel und die Farben der Eingabe zugreifen, aber ich stecke irgendwie fest. Meine Frage ist: Wo soll ich anfangen? Ich brauche einen grundlegenden Algorithmus, der so etwas tun könnte. Und ich kann wirklich keine finden (vielleicht sehe ich falsch aus). Kann mir jemand einen zufälligen Foto-Downloader geben, damit ich kleine Bilder für das Projekt herunterladen kann? Kann mir jemand helfen? Bitte sagen Sie mir, wo ich anfangen und was ich verwenden soll.

    
Alexx 29.03.2011, 20:27
quelle

2 Antworten

16

Ich habe das in Scala gemacht. Der Artikel Dr. Dobbs war mir sehr nützlich.

Beispielbild:

Hier ist mein grundlegender Algorithmus:

%Vor%

Mein vollständiger Quellcode ist verfügbar auf github

    
I82Much 29.03.2011, 20:34
quelle
3

Nehmen wir an, Ihr Grundbild ist 100x100 Pixel und Sie haben eine Reihe von 10x10 Kacheln.

Sie möchten das Basisbild mit 400 der kleinen Kacheln mosaikartig gestalten, so dass jede Kachel im Basisbild 5x5 Pixel umfasst.

Bestimmen Sie für jeden 5x5-Teil im Basisbild die durchschnittlichen RGB-Werte für diese Pixel.

Bestimmen Sie für jede Kachel die durchschnittlichen RGB-Werte.

Ordne die durchschnittlichen RGB-Werte jedes 5x5-Teils der engsten Übereinstimmung mit den Kacheln zu.

Erstellen Sie dann Ihr Mosaik. Sie müssen die Kacheln jedoch auf 5x5 skalieren, um die Bildgröße gleich zu halten.

    
John 29.03.2011 20:34
quelle