Simple colour enhancement for images

asked 2012-11-05 14:19:48 -0500

A feature of an application I am working on is being able to take pictures of children's artwork (paintings, colourings, etc, typically in relatively bright colours because that's what children use) and display them on the screen.

In normal lighting, the image returned form the camera is almost always dull and lacks colour - this is exacerbated by a combination of the terrible camera in most tablets, and the fact that rooms are often dimly lit. I would like to be able to do some simple colour enhancement on the image to bring it back into about the right level.

To do this, I thought I could just convert the image to HSV space, then run a histogram equalization on each channel seperately, but this doesn't seem to produce good results and makes any near-white areas of the image bloom into colour as their ranges get stretched (presumably, this is because doing so is wrong and I don't know what I'm talking about.)

So I'm currently just converting the image to HSV space, and multiplying S and V by an arbitrary constant of 1.6. This actually produces decent results, but isn't very scientific. Presumably, there must be a basic introduction to the subject of image brightness/colour correction somewhere, but I haven't found a concise one that covers this case. Could somebody please explain?

Thanks, Alex

edit retag flag offensive close merge delete


This is a really good question, I'm too looking for a possible way to enhancing colour in images. I was hoping Eulerian Video Magnification ( ) could possibly help in this respect but since the code is in MATLAB, I haven't gotten to testing it yet.

imran gravatar imageimran ( 2012-11-05 15:45:28 -0500 )edit