Swapping Position and Brightness in Grayscale Images

Creative

image processing

SHOW HN2017

36points
15comments
#962of 2,242 in 2017
Top 43%of 2017 by points

How HN took it

CuriousMostly questions and neutral comments

3 positive, 9 neutral or asking, 1 mixed, 0 critical, out of 13 comments about the project. Thread score +0.17.

Idea: 2 for, 0 againstExecution: 1 for, 0 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Entertaining simple algorithm with interesting results

    From 2 comments
    • 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,…
      chrisparton1991 on HN
    • 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…
      brian-armstrong on HN
  • Improved averaging produces better image

    From 1 comment
    • Awesome! The background gradient bar seems reasonable now, you can see that it's about hakf brightness which makes more sense to me :)
      brian-armstrong on HN

Objections

  • Swapping x with brightness is misleading; dithering exaggerates perceived brightness variation

    From 1 comment
    • You can keep one of the dimensions by making a histogram a 3d surface. 3d surface f(x,y)->z can be displayed as flat image with brightness representing z value. Brightness can be…
      Karliss on HN
  • Not a true histogram; it keeps positional information

    From 2 comments
    • 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…
      TeMPOraL on HN
    • 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 ...
      emeraldd on HN

Requests

  • Select a region of the original image to focus on

    From 1 comment
    • I wish the demo had the ability to select a region in the original image to focus on. See http://svgjs.com/svg.draw.js/demo/index.html
      swframe2 on HN
  • Add an iterations parameter to run the algorithm repeatedly with a slider

    From 1 comment
    • 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,…
      chrisparton1991 on HN

Questions

  • Is there a link to an example of this histogram type

    From 1 comment
  • Would a proper average improve the image

    From 1 comment
    • Correct! In fact, I already use a poor mans average. Initially newImage is all black and then: ``` b=oldImage[x,y]; xa=(newImage[b,y]+x)/2; // poor mans average newImage[b,y]=xa;…
      no_gravity on HN

Alternatives named

  • Luma waveform monitors in video equipment and grading software

    From 3 comments
    • 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…
      pierrec on HN
    • This is used a lot in grading video, where it is called a luma waveform. Here's a quick tutorial: https://youtu.be/qt1XpfFMyyw
      arnarbi on HN
    • Yes it does. This is similar to what is shown on the video scopes of television engineers in the luma waveform view.…
      nhoiunh4nth on HN
  • Luma parade and RGB parade views

    From 1 comment
    • 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…
      amaterasu on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/15961850)