Isn't histogram an entirely different thing? As far as I know, to make a histogram you'd iterate over all pixels and, for each of them, increment histogram[pixelBrightness]. Here the author is not counting pixels, but exchanging coordinates.
Doesn't a histogram throw away the positional element of the pixel entirely and bin by the number of pixels at a particular brightness? This doesn't seem to do that ...
Modern waveform monitors usually have a feature that does exactly this. They replaced the older analog waveform monitors, which achieved a visually similar result but through rather different means. Very useful for video QC and calibration (I worked a few years as tech at a company that did exactly this and also had some analog ones to play with).
Some digital cameras have this as an overlay on the LCD. If you have a Canon EOS you can always get this feature via the really cool Magic Lantern open-source firmware.
Also, re: some comments calling it a histogram here: maybe colloquially (though I've never heard it), but generally it's called a waveform monitor.
Specific feature is colloquially known as luma parade. Also done using RGB channels, (inventively) referred to as RGB parade. Also, on video monitors the parade is usually done over the X axis, so rotated vs what appears in the article.
It would be neat to provide an "iterations" parameter that runs the algorithm N times over the source image. It could be implemented a slider so the results can be animated, after a fashion.
I did this manually with the seagull photo, and some pretty interesting results occur. The seagull becomes increasingly compressed towards the left, and looks more like a seagull on even iterations than on odd iterations.
Just goes to show how entertaining a simple algorithm can be, nice work!
This is a crazy transform to wrap your head around. Given the impl, I think I would restate it as B'(x,y) = ARGMAX(B(u,y)=x, u) -- that is, the brightness at x,y in the new image is the max value of u for which the brightness at u,y is x in the old image.
I wonder if rather than using max, if you averaged instead. Would you get more of an idea of right/left of how that brightness is distributed?
[+] [-] ryandamm|8 years ago|reply
[+] [-] TeMPOraL|8 years ago|reply
[+] [-] emeraldd|8 years ago|reply
[+] [-] no_gravity|8 years ago|reply
[+] [-] pierrec|8 years ago|reply
Some digital cameras have this as an overlay on the LCD. If you have a Canon EOS you can always get this feature via the really cool Magic Lantern open-source firmware.
Also, re: some comments calling it a histogram here: maybe colloquially (though I've never heard it), but generally it's called a waveform monitor.
[+] [-] amaterasu|8 years ago|reply
[+] [-] swframe2|8 years ago|reply
[+] [-] chrisparton1991|8 years ago|reply
I did this manually with the seagull photo, and some pretty interesting results occur. The seagull becomes increasingly compressed towards the left, and looks more like a seagull on even iterations than on odd iterations.
Just goes to show how entertaining a simple algorithm can be, nice work!
[+] [-] brian-armstrong|8 years ago|reply
I wonder if rather than using max, if you averaged instead. Would you get more of an idea of right/left of how that brightness is distributed?
[+] [-] no_gravity|8 years ago|reply
Let's see...
...here we go: No average on the left, poor mans average in the middle, proper average on the right:
https://www.productchart.com/elements/objects/blog/2017-12-1...
Yup, it's better. I updated the page with the proper average algorithm now.
Thanks, Brian!
[+] [-] arnarbi|8 years ago|reply
[+] [-] unknown|8 years ago|reply
[deleted]