Gibt es eine Möglichkeit, ein Echtzeit-Bildhistogramm aller oder eines Teils dessen anzuzeigen, was mein Monitor anzeigt?


10

Ich versuche, Helligkeit / Kontrast in einer Foto- / Videobearbeitungssoftware anzupassen, die keine Bildhistogramme liefert. Was ich möchte, ist eine Windows-Software, die ein Echtzeit-Histogramm aller oder eines Teils dessen anzeigt, was mein Monitor anzeigt.

Dies kann auch für andere Zwecke nützlich sein, z. B. für die Bewertung der Tonverteilung in Demoszenenproduktionen, die Entwicklung / Optimierung von Windows-Themen ...

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

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


Das wäre ein cooles Werkzeug, wenn es existiert. Dies kann jedoch schwierig sein, wenn Direct X-Videodaten auf niedriger Ebene erfasst werden müssen.
Acjay

Antworten:


1

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

Ich habe überlegt, wie ich das aktive Fenster unter Windows für Sie erhalten kann, aber was Sie wirklich wollen, ist ein Begrenzungsrahmen, der genau auf das angezeigte Bild abgestimmt ist, dem Sie geben können ImageGrab.grab(bbox). Die einfachste Möglichkeit wäre wahrscheinlich, mit dem GUI-Toolkit, das Sie zum Zeichnen des Fensters mit der Schaltfläche "Histogramm aktualisieren" verwenden, Ihr eigenes Objekt "Größe / Position dieses Fensters, um das Bild genau abzudecken" zu rollen.

Die andere Option, vorausgesetzt, die Bilder sind nicht zu groß, besteht darin, das Histogramm aus der Datei auf der Festplatte zu generieren und Strg + S zu drücken, bevor Sie auf die Schaltfläche "Histogramm aktualisieren" klicken.


time.sleep () in einer Schleife kann die Überprüfung automatisieren.
Cees Timmerman

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.