Nahtlose Texturen

6

Ich verstehe, wie ein Künstler nahtlose Texturen von Hand erstellen würde, aber wie kann ein Computerprogramm diesen Prozess automatisieren? Software wie PixPlant ist dazu in der Lage, aber ich verstehe nicht, wie das geht.

Daniel Kareh
quelle
Ich habe keine Ahnung, was dieses Werkzeug verwendet, aber ein Ansatz könnte darin bestehen, Nahtschnitzen zu verwenden. Eine schnelle Suche im Internet ergab beispielsweise diesen Projektbericht: inst.eecs.berkeley.edu/~cs194-26/fa15/upload/files/… Eine andere Möglichkeit besteht darin, Texturen über die Textur-Synthese zu erstellen.
Simon F
Das sieht nach einem sehr interessanten Bericht aus. Ich werde das überprüfen.
Daniel Kareh

Antworten:

10

Für diese Arten von Algorithmen müssen Sie sich normalerweise auf mehrere Formen der Textur-Synthese verlassen. Das bedeutet nicht, dass Sie die gesamte Textur von Grund auf neu erstellen müssen. Sie können beispielsweise die Seiten der Textur neu generieren, um einen nahtlosen Effekt zu erzielen. Diese Antwort ist möglicherweise nicht vollständig, da es sich um ein großes Feld handelt und unterschiedliche Ansätze je nach Eingabebild unterschiedliche Wirksamkeit haben.

Naive Unschärfe entlang der Kanten

Als Künstler besteht eine Möglichkeit, nahtlose Texturen zu erstellen, darin, das Bild in zwei Richtungen zu versetzen. Dann können Sie die Kanten verwischen.

Geben Sie hier die Bildbeschreibung ein

Dieses Beispiel ist nicht das beste, aber Sie können mit Ergebnissen mit bestimmten Texturarten anständige Ergebnisse erzielen.

Alternativ können Sie hier einen minimalen Schnitt am Rand ausführen, indem Sie das Bild mit sich selbst überlappen und dann die Differenz zwischen den beiden Bildern ermitteln.

Min-Cut-Algorithmen

Einer der beliebtesten Algorithmen ist das Quilten von Bildern . Die Idee dahinter ist, die Textur in eine Reihe von Patches aufzuteilen. Sie füllen die Textur aus, indem Sie zunächst zufällig eine Teilmenge der Patches aus Ihrer Gesamtmenge der Patches auswählen und diejenige mit der geringsten Fehlerquote auswählen, wenn Sie das Patch mit den benachbarten Patches überlappen. Anschließend führen Sie minimale Schnitte entlang der überlappenden Bereiche durch.

Meine Erfahrung mit diesem Algorithmus ist, dass er für viele Texturen mit runden Details gut funktioniert. Wenn die Textur beispielsweise Gras ist, kann sie eine schlechte Leistung erbringen. Das Ausmaß, in dem Sie die einzelnen Patches überlappen, hat auch einen großen Einfluss auf die Qualität. Je größer die Überlappung ist, desto besser ist die Übereinstimmung, aber desto wahrscheinlicher ist eine Wiederholung. Wenn die Teilmenge der Kandidaten-Patches zu groß ist, werden Sie wiederholt. Andernfalls finden Sie möglicherweise keine guten Übereinstimmungen.

Es gibt Erweiterungen dieses Algorithmus, einschließlich PatchMatch (das in Photoshop verwendet wurde).

Gradientenkorrektur

Eine andere Möglichkeit, nahtlose Texturen zu verarbeiten, besteht darin, den Farbverlauf zu entfernen. Die Poisson-Bildbearbeitung kann dabei helfen, wenn Sie Ihr Bild aufteilen und die verschiedenen Teile als Vordergrund- und Hintergrundobjekte verwenden.

Ein einfacherer Ansatz besteht darin, eine Niederfrequenz (z. B. eine Mipmap) Ihrer Textur zu erstellen und dann den Farbverlauf Ihres Bildes zu entfernen. Natürlich sind Hochfrequenzdaten nicht nahtlos, aber Sie können dies mit anderen Algorithmen entfernen.

Computer Vision Ansätze

Sie können auch verschiedene Computer-Vision-Ansätze verwenden. Die Idee hier wäre, dass Sie wichtige Funktionen intakt halten, wenn Sie versuchen, Ihre Texturen zu kacheln. Wenn sich beispielsweise eine Schmutzstruktur mit einem Stein am Bildrand befindet, können Sie diesen Stein mithilfe verschiedener Feature-Detektoren wie der Differenz der Gaußschen Werte identifizieren und entfernen, bevor Sie die Kacheln durchführen. Möglicherweise müssen Sie den Rest der Textur ausfüllen, in der der Stein entfernt wurde. Dies kann jedoch dazu beitragen, das Bild nahtloser zu gestalten.

Zusätzliche Referenzen

Asse
quelle
Schöne Umfrage. Alexei Efros hat auch einige schöne Folien zum Thema Bildmischung aus seinem Kurs für Computerfotografie. Er erwähnt die klassische Burt-Adelson-Laplace-Pyramidenmischung sowie Gradientendomänenmethoden und Graphenschnitte.
Dies ist eine sehr gute Antwort, und ich bin froh, dass Sie sich die Zeit genommen haben, mehrere Algorithmen und nicht nur einen durchzugehen. Ich werde mir diese Links unbedingt ansehen.
Daniel Kareh