weiß jemand, dass wir aus echten Bildern, die mit Kameras aufgenommen wurden, in den Cartoon-Raum umwandeln können?
Bitte beachten Sie, dass mein Ziel nicht ist, Animationen oder Ähnliches zu erstellen, sondern nur, wenn möglich, in "Cartoon-Farben" zu übersetzen.
wird einfach in einen Raum requantisiert, in dem es weniger Quantisierungsstufen gibt. Oder sind andere spezifische Transformationen besser?
jede Hilfe wird nützlich sein, da ich dazu kein Material finden konnte.
Thnx im Voraus.
Was Sie versuchen, wird meistens aus 3D-Modellen gemacht und heißt cel-shading , oder "Toon-Schattierung". Grundsätzlich versuchen Sie, gleichmäßige Farben zu erzwingen und abrupte Übergänge in bestimmten Winkeln zur Lichtquelle zu erzwingen.
Offensichtlich lässt sich dies nicht gut auf 2D-Eingabebilder übertragen. Was Sie können tun, besteht darin, zu requantisieren, aber sicherzustellen, dass Sie Bereiche gleichmäßig füllen und dort, wo der Bildgradient hoch ist, brechen.
Nichtlineare Diffusion ist eine Rauschunterdrückungstechnik, die Regionen dazu zwingt, gleichmäßig zu werden, um Rauschen zu entfernen . Wenn Sie es für zu viele Iterationen durchlaufen lassen, erhalten Sie ein Cartoon-Bild.
Ich habe das vor vielleicht 2-3 Jahren implementiert und es hat überraschend gut funktioniert, wenn man bedenkt, dass es nicht so schwer war, es zu implementieren. Sie werden jedoch eine GPGPU-Implementierung benötigen, weil sie langsam ist!
Die Verschiebung der Pyramidenmitte + Umriss der erkannten Kanten scheint die Aufgabe zu erfüllen.
Der Code:
%Vor%Hier ist ein Ergebnis, das ich bekommen habe:
Details: OpenCV Tutorial Teil 6
Komplette Aufnahme im Dunkeln:
Absolut ungeprüft. Wahrscheinlich spricht das aus meinem Hut ... Aber sollte CPU-Auslastung ziemlich niedrig sein, wenn es funktionieren würde. Das scheint mir die Art von Dingen zu sein, die man mit Schiebereglern für die in den Schritten 2 bis 4 benötigten Werte ansteuert und einfach damit herumspielt.
BEARBEITEN: Ein Freund hat darauf hingewiesen, dass Sie möglicherweise auch Linien um Objekte herum haben möchten. Mein erster Gedanke wäre, cvCanny
zu verwenden, um Kanten auszusortieren (benötigt ein Graustufenbild ... ich bin mir nicht sicher, ob es besser wäre, dies vor oder nach dem HSV-Cartoon zu tun. Wahrscheinlich vorher). Diese sind ein Pixel breit, was möglicherweise nicht genug ist. Vielleicht möchten Sie dilate
ein wenig erweitern, um sie zu erweitern. Sie sind weiß auf schwarzem Hintergrund, so dass Sie sie von Ihrem Cartoon-farbigen Bild subtrahieren können. Dadurch werden die Pixel an den Stellen gezogen, an denen die Linien auf 0 reduziert sind (Sättigungsarithmetik zur Rettung), aber die anderen Pixel bleiben alleine. p>
Dein Begriff "Cartoon Space" ließ mich denken, dass du vielleicht von dieser Idee ausgehen solltest:
Tags und Links opencv image matlab image-processing computer-vision