Wie ist das photoshop-Ausschnitt-filter implementiert?
Photoshop hat eine Menge Coole Künstlerische Filter und ich Liebe es, zu verstehen, die zugrunde liegenden algorithmen.
Einem Algorithmus, der besonders interessant ist, ist die Aussparung filter (Nummer 2 im link oben).
Es hat drei tunable Parameter, die Anzahl der Ebenen, Rand Einfachheit und Edge-Fidelity. Anzahl der Ebenen wird angezeigt, fahren eine einfache posterization-Algorithmus, aber was die anderen Schieberegler tun, technisch, entzieht sich mir.
Ich würde denken, dass Sie tun, etwas zu Vornoi-Diagramm oder k-means-partitionion, sondern stochern in wikipedia noch nicht geführt, was Karten offensichtlich, was Photoshop macht, vor allem wenn man bedenkt, wie schnell die filter der sich macht.
Gibt es irgendeine Quelle für die technischen Beschreibungen in den Photoshop-filtern? Alternativ haben Sie irgendwelche Gedanken darüber, wie diese spezielle filter implementiert werden könnte?
- Wow, die sind cool. Ich Schätze Bildbearbeitung viel mehr in diesen Tagen nach der Arbeit an einem Projekt, die beteiligten einigen (obwohl meine Aufgaben waren weniger Komplex als die anderen).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kantenerkennung ist in der Regel ein Sobel-oder Canny-filter werden die Kanten verbunden sind, zusammen mit einer Kette code.
Blick auf so etwas wie die OpenCV Bibliothek für details
Ich bin nicht sicher, es könnte eine Art cell shading, aber es sieht auch wie ein median-filter mit einem sehr großen kernel-Größe oder die wurde mehrfach angewendet.
Den Rand Einfachheit/fidelity möglicherweise Optionen, die helfen, zu entscheiden, ob oder nicht zu nehmen in Konto, das ein angrenzendes pixel (oder fällt im kernel) basiert auf dem Unterschied der Farbe mit dem aktuellen pixel.
Haben, sehen Sie in diesem post. Es wird erklärt, wie man das gleiche Ergebnis mit ImageMagic, und IM opensource.
Vielleicht nicht genau das, was du suchst, aber wenn Sie möchten wissen, wie der Filter funktioniert, können Sie überprüfen Sie heraus den Quellcode von GIMP. Ich kann nicht sagen, ob GIMP ein äquivalent der Aussparung filter, die Sie erwähnt, aber es lohnt sich, wenn Sie wirklich Interesse in diesem Bereich.
Die Anzahl der Ebenen scheint zu ähneln, wie cell-shading ist getan und das ist das was ich möchte realisieren, dass ein Teil in diesem Fall: Sie nehmen Sie einfach das Histogramm des Bildes und teilen Sie es in den "Nein. der Ebenen" Anzahl der Schnitte berechnen dann einen Durchschnittswert für jeden Abschnitt. Jede Farbe im Histogramm werden dann von diesem Durchschnitt in der Stelle von Ihrer ursprünglichen Farbe.
Die anderen zwei Parameter notwendig, etwas mehr denken, aber 'Edge" Einfachheit " scheint zu explodieren und die Anzahl der Segmente die Formen bauen sich aus. Oder vielmehr: die Anzahl der Verfeinerungen angewendet, um einige geschmacklose Bild-segmentierungsalgorithmen. Die treue regler scheint, etwas ähnliches zu tun; es wahrscheinlich steuert eine Art Schwellenwert für den Zeitpunkt der Verfeinerungen stattfinden sollte.
Dies könnte helfen
Wurde eine einfache Lösung, die theoretisch produzieren etwas ähnliches zu filtern.
Irgendwie ähnlich wie das, was Ismael C vorgeschlagen.
Edge Einfachheit steuert die Größe der Fenster. Vielleicht Fenster sollten gewichtet werden.
Aber anders ist es passiert, für die regelmäßige Fenster-Filter würde nur eine Feste Größe Teil der random-Pixel-Fenster. Die Größe der portion gesteuert wird mit Treue parameter.
Legen Sie die pixel-Farbe zu den median der Stichprobe.
Gegeben, wir haben einige posterization Algorithmus angewendet wird danach.
Hier gehen wir!
Bitte melden Sie Ergebnisse, wenn Sie es umsetzen.
PS. Ich bezweifle wirklich, dass die Segmentierung verwendet wird an allen.
Ich mir vorstellen, es ist wahrscheinlich einige schwellenwertbestimmung aktiviert ist, können edge-detection (Sobel/Canny/Roberts/was auch immer) und posterisation.
Vom basteln mit es habe ich herausgefunden, dass:
Sichtbar vor allem für die hohe Kante Einfachheit.
Insgesamt sieht es aus wie eine vereinfachte version der Live-Trace-Algorithmus von Adobe Illustrator verwendet Polygone anstelle von Kurven.
... oder vielleicht auch nicht.