Gibt es bessere DeRainbow Skripte als DeRainbow-sh0dan.avs? Das bekommt zwar die meisten Rainbows recht gut weg, aber unter bestimmten Bedingungen verstärkt es die Rainboweffekte. Meiner Meinung nach dann, wenn sie recht stark sind.
DeRainbow Skriptalternative zu DeRainbow-sh0dan
-
-
Versuch mal dedot.
-
Oh man, irgendwie schaff ich es nicht hier Dateien hochzuladen für den Anhang.
DeDot habe ich gerade mal ausprobiert. Da sieht das Bild wie das Original ohne DeDot aus.
Erst mit sehr niedrigen Werten beim sh0dan Script tut sich was, aber das dürfte zuviel an den Farben zerstören.
Hier mal das besagte Video:
http://www.mediafire.com/?nt1am9n62ahz8tzIn dem Video tragen irgendwie alle so abgedrehte Hemden.
-
-
Da stellt sich mir jetzt nur noch die Frage wie sinnvoll es ist ein so starkes Rainbowing vollständig unterdrücken zu wollen. Also was den Qualitätsverlust für den Rest angeht. Also so im ersten Vergleich scheint deine Methode keine Nachteile zu haben. Ich muss das mal in Bewegung sehen
Mein Problem ist aktuell auch vielmehr, nicht, dass es nicht weggeht, sondern sich durch meine bisherige Lösung verstärkt.
-
Hmm, wo hab ichs nur.... ich hatte da doch mal ein modifiziertes derainbow....
Ahja gefunden.
Code
Alles anzeigenfunction ChubbyRain2(clip c, int "th", int "radius", bool "show", int "sft") { #based on Mug Funky's ChubbyRain th = default(th,10) radius = default(radius,10) show = default(show,false) sft = default (sft, 10) u = c.utoy() v = c.vtoy() uc = u.yv12convolution(horizontal="1",vertical="1 -2 1",Y=3,U=0,V=0) vc = v.yv12convolution(horizontal="1",vertical="1 -2 1",Y=3,U=0,V=0) cc = c.yv12convolution(horizontal="1",vertical="1 2 1",Y=2,U=3,V=3).bifrost(interlaced=false).cnr2().temporalsoften(radius,0,sft,2,2) rainbow=yv12lutxy(uc,vc,Yexpr=string("x y + "+string(th)+" > 256 0 ?")).pointresize(c.width,c.height).expand(y=3,u=-128,v=-128)#.blur(1.5) overlay(c,cc,mask=rainbow) show==true? rainbow : last } Function ChubbyDeRain(clip c, int "th", int "radius", bool "show") { #based on Sh0dan's DeRainbow & Mug Funky's ChubbyRain th = default(th,5) radius = default(radius,3) show = default(show,false) u = c.utoy() v = c.vtoy() uc = u.yv12convolution(horizontal="1",vertical="1 -2 1",Y=3,U=0,V=0) #,usemmx=true vc = v.yv12convolution(horizontal="1",vertical="1 -2 1",Y=3,U=0,V=0) cc2 = c.yv12convolution(horizontal="1",vertical="1 2 1",Y=2,U=3,V=3).mipsmooth(spatial=255, temporal=255, scenechange=3, show=false, method="strong", scalefactor=0.5) rainbow=yv12lutxy(uc,vc,Yexpr=string("x y + "+string(th)+" > 256 0 ?")).bicubicresize(c.width,c.height).expand(y=3,u=-128,v=-128) ms = MaskedMerge(c,cc2,rainbow, Y=1, U=2, V=2) show==true? rainbow : ms }
Damit hab ich auch die Rainbows aus den NAM-DVDs wegbekommen. Tendentiell sehen die Farben danach etwas weniger kräftig aus, was man aber noch ändern kann. Dann kommt natürlich ein Teil der Rainbows auch zurück.
-
Sind doch aber zwei von einander unabhängige Funktionen. ChubbyDeRain & ChubbyRain2. Oder sehe ich das falsch? Oder sollen die beide drüber laufen? Werde ich wohl erst am Donnerstag testen können.
-
Ich schätze mal eher: Entweder oder. Die sind sich so ähnlich - die machen bestimmt fast das gleiche; und der entscheidende Unterschied macht sich wohl nur marginal in Qualität oder Geschwindigkeit bemerkbar.
-
Die beiden Scripte sehen ziemlich progressiv aus, und Menedas' Quellmaterial sieht ziemlich interlaced aus. Nicht gut.
-
Kommt mir ganz entgegen, weil ichs ja eh nach dem Deinterlacing anwenden will. Da ich sonst die Befürchtung habe, dass TGMC da durcheinander kommt, bzw. schlechtere Ergebnisse liefert, was bei dem sh0dan Script auch der Fall ist, meiner Meinung nach zumindest.
-
Weil TGMC sonst weswegen durcheinander kommt? Wegen dem Rainbowing?
Henne oder Ei, Ei oder Henne ....
-
Ja.
Genau mein Problem
-
Dann versteh' ich aber nicht warum Dir das "entgegen kommt". Ein 'progressives' Script käme erst nach dem TGMC zum Einsatz (Henne). Wenn's dem TGMC helfen soll, dann müsste es vorher kommen (Ei). Vorher ist der Input aber interlaced, die Katze beißt sich in den Schwanz, die Henne schlüpft ins Ei.
Ganz, ganz unten im TGMC-Script findet sich die Zeile
clp.mt_adddiff(tDD_2,U=3,V=3)
Hier die U/V Werte mal ändern zu: ... U=2,V=2
Das könnte evtl. schon reichen, damit TGMC das Rainbowing weitgehend von alleine 'rausfiltert.
-
Ja, das kommt mir deswegen entgegen weil, ich dann nur noch eine Möglichkeit habe, nämlich nach TGMC
Unterstützten dürfte es TGMC eher nicht, nachdem wie ich es verstehen, selbst wenn es Interlaced könnte.Oh, das TGMC Script anpassen probiere ich auch mal. Das wäre mir fast am liebsten.
EDIT: Wow, das DeRainbow über TGMC liefert ja sehr gute Ergebnisse, soweit ich das nach einigen Tests sagen kann. Aber gerade bei starken Rainbows, wie im Beispiel-Video, schlägt es sich viel besser als über sh0dan oder die Chubby Scripte. Nebenwirkungen sind mir noch keine aufgefallen. Man möge mich berichtigen.
Vielen Dank für den Tipp, Didée :daumen:
-
Gibt es das auch bei QTGMC? Ich habe mal mt_adddiff( varRandom, U=3,V=3 ) auf jeweils 2 gestellt, aber das hat nichts gebracht.
-
Nein, dem Namen nach zu urteilen hat die Sektion wohl eher etwas mit dem Noise-Generator zu tun ...
Im QTGMC heißt die entsprechende Funktion "RemoveNonBobDiff". Es ist Zeile 615, in der U=2,V=2 geändert werden müsste. (QTGM v2.51)
-
Das hat funktioniert. Vielen Dank.
-
Kann man TGMC auch für progressives Material verwenden, er also kein Deinterlacing macht? Nur die Denoise, Shaping und DeRainbow Funktion.
-
TGMC nicht, bzw. nur mit ein paar Tricks. QTGMC schon, der hat die Tricks bereits eingebaut: Parameter "InputType=1".
-
QTGMC hat auch Progressiv-Input, siehe: http://forum.doom9.org/showthread.php?t=156028
oder Du nimmst das von Didée auf meine Anfrage hin geänderte TGMC (hier im Forum) -
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!