Die Farbe an den Wänden in meinem Zimmer hat eine zufällige, fast fraktale, dreidimensionale Textur:
In dieser Herausforderung werden Sie ein Programm schreiben, das zufällige Bilder erzeugt, die aussehen, als könnten sie Teil meiner Wände sein.
Unten habe ich 10 Bilder von verschiedenen Stellen an meinen Wänden gesammelt. Alle haben ungefähr die gleiche Beleuchtung und alle wurden mit der Kamera einen Fuß von der Wand entfernt aufgenommen. Die Ränder wurden gleichmäßig auf 2048 x 2048 Pixel beschnitten und dann auf 512 x 512 skaliert. Das obige Bild ist Bild A.
Dies sind nur Vorschaubilder, klicken Sie auf die Bilder, um sie in voller Größe anzuzeigen!
Ihre Aufgabe ist es, ein Programm zu schreiben, das eine positive ganze Zahl von 1 bis 2 16 als zufälligen Startwert aufnimmt und für jeden Wert ein bestimmtes Bild erzeugt, das aussieht, als hätte es das "elfte Bild" meiner Wand sein können. Wenn jemand, der sich meine 10 Bilder und einige von Ihnen ansieht, nicht wissen kann, welche computergeneriert wurden, dann haben Sie es sehr gut gemacht!
Führen Sie einige Ihrer generierten Bilder vor, damit die Betrachter sie sehen können, ohne den Code ausführen zu müssen.
Mir ist klar, dass die Beleuchtung in meinen Bildern in Bezug auf Intensität oder Farbe nicht perfekt gleichmäßig ist. Das tut mir leid, aber es ist das Beste, was ich ohne eine bessere Beleuchtung tun kann. Ihre Bilder müssen nicht variabel beleuchtet sein (obwohl dies möglich ist). Die Textur ist das Wichtigste, worauf es ankommt.
Einzelheiten
- Sie können Bildverarbeitungstools und -bibliotheken verwenden.
- Nehmen Sie die Eingabe wie gewünscht vor (Befehlszeile, stdin, offensichtliche Variable usw.).
- Das Ausgabebild kann in jedem gängigen verlustfreien Bilddateiformat oder einfach in einem Fenster / Browser angezeigt werden.
- Sie können meine 10 Bilder programmgesteuert analysieren, aber nicht davon ausgehen, dass jeder, der Ihren Code ausführt, Zugriff darauf hat.
- Sie müssen die Bilder programmgesteuert generieren. Möglicherweise haben Sie eine geringfügige Variante eines meiner Bilder oder eines anderen Archivbilds nicht fest codiert. (Die Leute würden dich sowieso dafür ablehnen.)
- Sie können integrierte Pseudozufallszahlengeneratoren verwenden und davon ausgehen, dass die Periode 2 16 oder mehr beträgt .
Wertung
Dies ist ein Beliebtheitswettbewerb, bei dem die am höchsten bewertete Antwort gewinnt.