Mischen gefilterter und ungefilterter Stream

  • Hallo,

    wenn ein Film zu dunkel ist, benutze ich gern hdragc(). Manchmal möchte ich aber lieber hdragc nur "in halber Stärke" benutzen. Um mit den hdragc-Optionen nichts verkehrt zu machen, dachte ich mir, ich nehme einen Originalframe und einen mit hdragc gefilterten Frame, und bilde aus den beiden den Mittelwert.

    Wie mache ich das am Besten? Wahrscheinlich nur eine Fingerübung für einen AviSynth-Spezialisten, nicht jedoch für mich...

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Ich mache gerade so was ähnliches mit "Overlay(ColorYUV(autogain=true, autowhite=true), opacity=0.5)" - kann aber gern auch mal "Overlay(HDRAGC(), opacity=0.5)" testen, bevor ich mir dann noch alle Parameter durchlese, die HDRAGC noch selber zu bieten hat.

    Eine Alternative wäre noch mt_lut... statt Overlay. Muss aber erst mal schauen welche Variante.

  • "Overlay sieht erstmal gut aus. Nur, damit ich es verstehe:

    Overlay(clip clip, clip overlay [, int x, int y, clip mask, float opacity, string mode, bool greymask, string output, bool ignore_conditional, bool pc_range])

    Wenn HDRAGC() "clip clip" ist, woher weiß Overlay dann, daß der unbearbeitete Clip clip overlay" ist?

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Also, wenn schon so, dann bitte nicht mit Overlay.

    a=whatever
    b=a.HDRAGC(pa,ra,me,ter)

    Merge(a,b) # merge(a,b,0.5) ist Default


    Ist ganz einfach die schnellste Methode, um genau das Gewünschte zu erreichen. Und bei Overlay() bin ich von alters her etwas misstrauisch mit den Farben. (Overlay macht *immer* eine interne Konvertierung nach YUV 4:4:4 und wieder zurück - für diesen Zweck total überflüssig.)

    mt_lutxy braucht man für einfaches Mischen auch nicht. (Dafür wäre mt_average da, aber den Filter braucht man heute eigentlich auch nicht mehr.) mt_lutxy wäre z.B geeignet, wenn man eine (schnelle) Mischung in Abhängigkeit von der Helligkeit eines Pixels durchführen möchte. Sowas wie "80% Stärke für dunkle Pixel, 20% Stärke für helle Pixel", oder in der Art.

  • a=whatever
    b=a.HDRAGC(pa,ra,me,ter)

    Merge(a,b) # merge(a,b,0.5) ist Default

    Hallo Didée,

    kannst Du mir bitte nochmal helfen, denn ich bin avs-noob. Was nehme ich für "whatever"? Mein avs-Skript sieht z.B. so aus:

    Code
    mpeg2source("E:\Rekorder\FuMan\FuMan.d2v", cpu=4)
    trim(46630,171811)
    TDeint(full=false, tryweave=true, MI=32, blockx=8, slow=2)
    crop(20,16,698,544)
    hdragc()
    DeGrainMedian(limitY=5,limitUV=7,mode=2)
    BicubicResize(688,544,0,0.5)

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Kurzform:

    Code
    mpeg2source("E:\Rekorder\FuMan\FuMan.d2v", cpu=4)trim(46630,171811)TDeint(full=false, tryweave=true, MI=32, blockx=8, slow=2)crop(20,16,698,544)[COLOR='purple']Merge( last,last.[/COLOR]hdragc() [COLOR='purple'])[/COLOR]DeGrainMedian(limitY=5,limitUV=7,mode=2)BicubicResize(688,544,0,0.5)

    Oder eher "schulmäßig":

    Code
    mpeg2source("E:\Rekorder\FuMan\FuMan.d2v", cpu=4)
    trim(46630,171811)
    TDeint(full=false, tryweave=true, MI=32, blockx=8, slow=2)
    crop(20,16,698,544)
    [COLOR='purple']zudunkel = last
    zuhell = zudunkel.[/COLOR]hdragc()
    [COLOR='purple']Merge(zudunkel, zuhell, 0.5)[/COLOR]
    DeGrainMedian(limitY=5,limitUV=7,mode=2)
    BicubicResize(688,544,0,0.5)
  • Setze einfach statt der Zeile hdragc() ein Zeile merge(last,last.hdragc())

    mawi2006

    Intel Q9550@2500 MHz / Motherboard Name Asus P5N-VM WS / Grafikkarte NVIDIA Quattro FX470 / 4x2 GB 800 MHz / DVD-RAM DVR-216DBK / LiteOn IHas 322 / HDD: 500 GB HD502HJ / SSD: Solidata K5 64GB

  • Wenn HDRAGC() "clip clip" ist, woher weiß Overlay dann, daß der unbearbeitete Clip clip overlay" ist?



    Falsch herum.

    Clip "clip" = last (der implizite Clip, der immer als Standard einspringt, wenn keine explizite Variable verwendet wurde).

    Clip "overlay" = HDRAGC().

    Setze einfach statt der Zeile hdragc() ein Zeile merge(last,last.hdragc())



    Die kürzeste Form wäre:

    merge(hdragc())
    __

    "Merge()" hab ich bisher anscheinend dauernd übersehen. Warum einfach, wenn's auch kompliziert geht?! :grübeln: :redface:

  • Ich glaube, "merge(last,last.hdragc())" geht nicht, weil "merge(last,last.hdragc())" gleichbedeutend mit "merge(last,last.hdragc(),1.0)" ist, und komplett die zweite Hälfte (also hdragc()) genommen würde, siehe hier. Ich müsste also auf jeden Fall die 0.5 mitnehmen: "merge(last,last.hdragc(),0.5)"

    Oder sehe ich das falsch?

    Gruß

    akapuma

    Wer weiß, wovon er redet, kann es sich leisten, sich verständlich auszudrücken.
    Besucht auch meine Homepage: http://akapuma.info

  • Der Default-Wert für MergeLuma() / MergeChroma() ist 1.0.

    Der Default-Wert für Merge() ist 0.5.


    Davon abgesehen - den weight-Parameter immer ausdrücklich anzugeben ist natürlich übersichtlicher. Und im Zweifelsfall auch "sicherer".

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!