Gibt es eine Möglichkeit, ein Echtzeit-Bildhistogramm aller oder eines Teils des Monitors anzuzeigen?

1294
cxnull

Ich versuche, die Helligkeit / den Kontrast in einer Foto- / Videobearbeitungssoftware anzupassen, die keine Bildhistogramme bereitstellt. Was ich möchte, ist eine Windows-Software, die ein Echtzeit-Histogramm aller oder eines Teils des Monitors anzeigt.

Dies kann auch für andere Dinge nützlich sein, wie zum Beispiel die Bewertung der Tonverteilung in Demoszenenproduktionen, die Entwicklung von Windows-Designs / das Optimieren von Optionen.

Natürlich könnte ich:
1 - Histogramme von Screenshots in Gimp auswerten (sehr langweilig, da nicht in Echtzeit)
2 - Richten Sie meine Kamera (mit aktiviertem Echtzeit-Histogramm) auf meinen Monitor (...)

Gibt es solche Werkzeuge also oder haben Sie Einblick, wie ich dies erreichen könnte?

10
Das wäre ein cooles Werkzeug, wenn es existiert. Es kann jedoch schwierig sein, wenn Direct X-Videodaten auf niedriger Ebene erfasst werden müssen. acjay vor 12 Jahren 0

2 Antworten auf die Frage

1
ssokolow

Wenn sonst niemand eine bessere Lösung hat und wenn Sie Programmiererfahrung haben, können Sie schnell ein "Near Realtime" -Histogramm (Sie müssen auf "Histogramm aktualisieren" klicken) selbst mit Python und PIL schreiben, um einen Screenshot zu erstellen und dann zu generieren und zeichnen Sie Ihr Histogramm .

Ich überlegte, wie ich das aktive Fenster unter Windows für Sie abrufen könnte, aber Sie möchten wirklich eine Begrenzungsbox, die genau auf das angezeigte Bild abgestimmt ist, das Sie anzeigen können ImageGrab.grab(bbox). Die einfachste Option wäre wahrscheinlich das Rollen Ihrer eigenen "Größe / Position dieses Fensters", um das Bild genau zu verdecken, indem Sie das GUI-Toolkit verwenden, das Sie zum Zeichnen des Fensters mit der Schaltfläche "Update-Histogramm" verwenden.

Vorausgesetzt, die Bilder sind nicht zu groß, besteht die andere Möglichkeit darin, das Histogramm aus der Datei auf der Festplatte zu erstellen und vor jedem Klick auf die Schaltfläche "Update-Histogramm" die Tastenkombination Strg + S zu drücken.

time.sleep () in einer Schleife kann die Überprüfung automatisieren. Cees Timmerman vor 12 Jahren 0
1
Cees Timmerman

Judging by this, a camera should also work.