Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am trying to adjust brightness/contrast in photo/video editing software that does not provide image histograms. What I would like is a piece of windows software that displays a real-time histogram of all or part of what my monitor is displaying.

This could also be useful for other things, like for example evaluating the tonal distribution in demoscene productions, Windows theme development/tweaking...

Of course I could :
1 - Evaluate histograms of screenshots in Gimp (very tedious because non real-time)
2 - Point my camera (with real-time histogram enabled) to my monitor (...)

So, do any such tools exist, or do you have any insight on how I could go about achieving this ?

share|improve this question
That would be a cool tool, if it exists. It could be tough to do though if low-level Direct X video data needs to be captured. – acjay Sep 9 '11 at 23:04

If nobody else has a better solution and, if you have any programming experience, you could quickly write a "near realtime" (You have to click "Update histogram" manually) histogram tool yourself with Python and PIL to take a screenshot and then generate and draw your histogram.

I considered looking up how to get the active window on Windows for you, but what you'd really want is a bounding box matched exactly to the displayed image that you can give to ImageGrab.grab(bbox). For that, the simplest option would probably be to roll your own "size/position this window to exactly cover the image" thing using whatever GUI toolkit you're using to draw the window with the "Update histogram" button.

The other option, assuming the images aren't too huge, would be to generate the histogram from the file on disk and hit Ctrl+S before each click to your "Update histogram" button.

share|improve this answer
time.sleep() in a loop can automate the checking. – Cees Timmerman Feb 6 '12 at 8:41

Judging by this, a camera should also work.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .