Auslesen von frameinfos in .txt datei

  • Moin zusammen,

    habe gerade ein kleines Porblem mit dem Auslesen der RGB Werte, welche ich mir im Bildschirm anzeigen lasse- siehe Skript:

    loadplugin(...)
    c=qtinput(...)
    c1=ConvertToRGB(c)
    RGBAdjust(c1,Analyze=true) % Anzeigen der RGB werte im Frame
    writefile(....,"AvarageRGB") % das AvarageRGB gibt es nicht- es wäre zu schön& ich hätte keine Frage ;)!

    Letztendlich dient mir das ganze zum Vergleichen der Unterschiede zwischen der Farbwiedergabe im YU12- und im RGB- Farbraum!

    Für den YV12 Farbraum hat man AverageLuma/ AverageChromaU/V -
    Weiss jemand, ob es einen analogen Befehl für den RGB Farbraum gibt (in die Richtung: AverageRGB)?
    Bin über jegliche Anregung dankbar...

  • :welcome:

    Besonders viele Funktionen kenne ich nicht, die überhaupt Informationen über Clip-Frames in eine Log-Datei protokollieren. Dazu gehören unter anderem:

    - Compare()
    - VQMCalc() und SSIM()

    Wirklich sinnvoll wären Funktionen wie "Average{Red|Green|Blue}" aber auch nicht, denn was für einen Nutzwert hätten die schon? Alle modernen Videokompressionsverfahren verwenden einen YUV-Farbraum, weil der wesentlich besser geeignet ist, den subjektiven Eindruck eines Bildes im Gehirn darzustellen und bestimmte natürliche Zusammenhänge sowie psychologische Effekte für eine sparsame Speicherung auszunutzen (beispielsweise dass Farbigkeitsinformationen mit geringerer Auflösung gespeichert werden, weil Helligkeitsänderungen wesentlich wichtiger für die Objekterkennung sind, und entsprechend auch viel mehr helligkeitsempfindliche als farbigkeitsempfindliche Sinneszellen im menschlichen Auge vorhanden sind).

    Die "durchschnittliche Helligkeit" (Luma Y) könnte man sich sicherlich noch ganz gut vorstellen. Ein "durchschnittlicher Blauwert" hätte für mich aber keine Bedeutung, ohne ihn relativ aufwändig mit rot und grün zu vergleichen. Dem gegenüber drücken die Farbdifferenzen (Chroma U/V) durchaus etwas aus, was man sich anschaulich vorstellen kann - letztendlich einen Bezug auf Farbton und Sättigung (beide = 0 wäre ein im Durchschnitt "graues" bzw. farblich ausgewogenes Bild).


    Darüber hinaus kann eine abweichende Darstellung zwischen RGB- und YUV-basierten Videos durchaus verschiedene Gründe haben, die sich "innerhalb des PCs" technisch gar nicht ermitteln lassen, weil z.B. je nach Renderer diese Unterschiede erst innerhalb der Grafikkarte entstehen (beispielsweise hat der Overlay-Renderer eine ganz eigene Steuerung von Helligkeit, Farbigkeit, Kontrast und Gammakurve, die nicht mit der RGB-Desktop-Steuerung übereinstimmen muss) - so kann es passieren, dass du in AviSynth nach der Konvertierung die selben Werte ermittelst, die Videos in Playern aber trotzdem anders erscheinen.

  • Moin LigH,

    danke für die schnelle Antwort. Vielleicht hätte ich noch hinzufügen sollen, dass mich der Rot/ Blau/ Grün Anteil deshalb interessiert, weil ich mit den so ermittelten Daten weiterrechnen muss. Ich mache eine Videoaufnahme einer Verdünnungsreihe (in blau/grün/rot) und möchte am Ende sehen, ob sich bei z.B. der grünen Verdünnungsreihe tatsächlich nur der G Wert ändert oder ob R oder B ebenfalls variieren. Würde das weiterarbeiten mit den Daten möglicherweise deutlich erleichtern.
    Daher kam ich auf : Gibt es vielleicht eine Möglichkeit die mit
    RGBAdjust(c1,Analyze=true)
    im Frame eingeblendeten Werte in eine .txt Datei zu speichern, und nur diese? Aus deiner Antwort zu schließen: vermutlich nicht so!

    Zu VQMCalc() und SSIM(): was ich gerade schnell mal darüber gelesen habe läßt mich vermuten, dass es nichts damit wird (bzg. meines Vorhabens).

    Zu Compare(): habe ich auch schon drüber nachgedacht:
    Compare(clip1,clip2,"RGB","compare.log")
    Läuft, aber die Ausgabe des RGB erfolgt als ein Mittelwert mit allen dazugehörigen Abweichungen! Über "R" / "G" /"B" einzeln gehts auch super, aber eine Ausgabe wie bei AvarageLuma() in eine .txt Datei wo nur der Mittelwert, nicht aber die Abweichungen geschrieben werden, ist mein Ziel- falls es sich realisieren läßt.

    Danke& aloha

Jetzt mitmachen!

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