Frames vergleichen

  • Hi zusammen

    Ich versuche ein Script zu basteln um die Auswirkungen von Filtern zu testen und statistisch (via Excel Liste/Graph) darzustellen.
    Meine Idee:
    Man nehme ein Video als Referenz, klemme den Filter drann un vergleiche die Ausgabe gegen das Original Bild.
    Laut Avisynth Doku gibt es: "RGBDifference(clip1, clip2)" der dann einen Float Wer liefert.
    Dieser soll danach in eine Datei geschrieben werden ... danach mache mit dem nächsten Bild weiter ...

    Das Ergebnis sollte nun eine txt Datei voll mit Werten sein die man in Excel importieren und dann graphisch aufbereiten kann.

    Hier mal mein erster Versuch (funktioniert aber nicht ):

    Code
    v1=LWLibavVideoSource("Video1.mp4").ConvertToRGB24()
    v2=v1.mSharpen()
    
    
    diff=RGBDifference(v1,v2)
    
    
    WriteFile("output.txt","current_frame",diff)

    Kann mir jemand da weiterhelfen ?

  • Warum soll das in Excel angezeigt werden und nicht direkt am Sichtgerät ?

    "Diff" kann ich als Video anzeigen lassen ohne erst in RGB codieren zu müssen.

    Wenn wir hier ein Original und ein Gefiltertes vergleichen müssen,dann interessiert zumeist die "Diff" niemand...sondern welcher
    Clip ist augenfreundlicher.

    Datenrettungen Normwandlungen Restaurierungen Digitalisierungen

  • An der Beurteilung, wie man "Unterschiede im Video" nummerisch ausdrücken kann, haben sich schon viele versucht. Verbreitet war lange Zeit das PSNR (peak signal-to-noise ratio). Dieser Wert reagiert aber auf bestimmte Dinge sehr empfindlich, die einem menschlichen Betrachter kaum auffallen, ist also als "Metrik" für einen "Qualitätsverlust" = "Unterschied zum Original" wenig geeignet.

    Etwas besser sind Verfahren, die SSIM (structural similarity) als Basis haben; aber auch dieser Wert sagt noch lange nicht, ob die Veränderung positiv oder negativ wirkt, lediglich wie stark (mehr oder weniger "optisch auffällig") sich zwei Bilder bzw. Videos unterscheiden.

    Letztendlich sind solche Statistiken, wie du sie erzeugen willst, also eigentlich praktisch nichts wert. Denn was bedeutet es wohl, wenn zwei Filter als "in etwa als gleich stark das Video verändernd" berechnet werden, obwohl die Wirkung inhaltlich völlig unterschiedlich ist (z.B. hier ein Weichzeichner, da ein Rauscherzeuger)? :ratlos:

  • Das Ganze hier ist ja auch nur als Beispiel gedacht.
    Mal anders ausgedrückt: Was mich hauptsächlich intressiert ist: Wie stark veränder Filter 1 das Bild gegenüber Filter 2
    Das Ganze möchte ich dann als Kurve (deswegen auch Excel) darstellen.
    Unabhängig wie's ausschaut - hier nur die nackten Zahlen.

    RGB Veränderungen zu beobachten scheint mir derzeit am einfachsten ... JA auch wenn die Quelle eigentlich YV12 ist.
    Meine Haupanliegen ist nach wie vor: wie komme ich an die Were von "RGBDifference(v1,v2)" und wie schreibe ich sie in eine Datei

  • Die Funktion Compare() erzeugt auf Wunsch eine Log-Datei (wenn du Clips im RGB-Raum vergleichen willst, obwohl das meist eher unsinnig ist, dann konvertiere YV12-Clips vorher nach RGB32). Ebenso die Funktion SSIM() aus dem entsprechenden Plugin, gleich Excel-freundlich im CSV-Format (aber u.U. mit englischem Dezimalpunkt, was beim Importieren in Excel speziell zu beachten ist).

  • Muß es "handgemacht" sein? das Tool "MSU VQMT" vergleicht einen Stream mit bis zu 2 anderen. Die Dateien werden per AviSynth übergeben, so daß sich verschiedene Filter einbauen lassen. Und es stehen verschiedenste Metriken zur Verfügung.

    Gruß

    akapuma

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

Jetzt mitmachen!

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