Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. 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

Here is a picture (of many) that I took from a book with my phone camera.enter image description here

The problem is that the background is too grey. I want it fully white. I have adobe Photoshop CS6. Does anyone know how I can fix this?

Note: I need instructions, as I need to do this to many other pics.


share|improve this question
This is caused by the camera assuming that the image is, on average, a 15% grey, and setting the exposure and white balance accordingly. If your camera permits it, you can avoid it in future shots by either setting a custom white balance or by deliberately overexposing the photo. – Mark Jul 25 '14 at 4:59
@Mark White balance has to do with hue, not brightness. So if your camera gives you the option of manual exposure, you can overexpose the image by about a stop. – Circle B Jul 25 '14 at 12:52
@CircleB, you're right. I thought I'd fixed a similar issue with grey snow using a custom white balance, but looking at the EXIF data, I fixed it with overexposure. – Mark Jul 25 '14 at 19:35
It's not a matter of "overexposing" the image but correctly exposing it. This image is underexposed. A correctly exposed image of a white piece of paper would have a white background and black lines. An overexposed image would have a pure white background and pale grey lines. – David Richerby Jul 26 '14 at 9:05
up vote 28 down vote accepted

First you'll want to desaturate the image (CMD+SHIFT+U), this removes any color and makes it easier to achieve pure white.

With your file open, choose Image->Adjustments->Levels. You'll get this: enter image description here

Now bring the two outer triangles in like this (you'll need to play around with this until you get something you like):

enter image description here

You should end up with this!

enter image description here

share|improve this answer
This one worked pretty nice. Sometimes a black spot remains in the corner though, but I think I can manually fix that. – omega Jul 25 '14 at 3:58
+1 I always use this method every time I adjust images taken from my phone. Sometimes a little manual rubbing out is required for the odd darker spot but it usually does the trick in one – SaturnsEye Jul 25 '14 at 9:34
If you do this with an adjustment layer instead of 'destructively', you can even copy the layer from picture to picture, and only tweak the settings as needed. – Vincent Jul 25 '14 at 10:27
@bakabaka, that is very true, you could also make an action and run it on an entire folder of images. – Circle B Jul 25 '14 at 12:45
An easier way to do this with the same control panel is to use the eyedroppers pictured. Choose the white one and then select a white point. Then choose the black one and choose a black point. After that I like to adjust the output levels manually to fine tune. But the eyedroppers make this task tons easier. – JakeGould Jul 27 '14 at 3:51

I came up with a nice method for cleaning up pictures like this, and it works even when the background or lighting is uneven (that is, far worse cases than the example in this question) and it retains the colour.

My instructions are based on the Gimp, but it would be very similar in other programs like Photoshop.

Firstly, make a duplicate of the layer:

layer dialog

Blur the copied layer with a Gaussian blur. Use a kernel size large enough that you can't make out any detail from the original image. I used 100px for the picture in the original post.

gaussian blur dialog

It will look like this:

blurred fish picture

Then set the "mode" of the blurred layer to "Divide".

layer dialog with mode set to divide

The resulting image should be the line art on a white background.

fish picture with background removed

What you are doing here is essentially a high-pass-filter on the image, removing the low-frequency information (slow changes in the background colour) and keeping the high-frequency information (the line art).

share|improve this answer
Actually I just realised that in the Gimp there is a filter called "Difference of Gaussians" which does exactly this, but in one step ;) – pix Jul 26 '14 at 0:03
So edit your answer! – David Richerby Jul 26 '14 at 9:14
@DavidRicherby Since the question was originally about Photoshop, a post effectively saying "neener-neener, Gimp can do it in one step" would not be very useful to the OP. I've described a method using relatively fundamental image manipulations that should be available in most graphics packages, Photoshop included. – pix Jul 30 '14 at 0:43
Actually, it's perfectly fine to suggest another method in another software for other users. You may not get as many votes because it is not focused entirely towards the OPs question, but we always welcome alternatives. – Dom Sep 25 '14 at 8:44
@MrE.Upvoter besides doing this in PS is exactly the steps described just different screenshots. Same applies to imagemagick etc. – joojaa Sep 25 '14 at 15:53

Ramp the contrast up with curves.


Select your image and press Ctrl-M. This will bring up the curves dialog. enter image description here Move the top point left and the bottom point right until your image becomes black and white. (that rhymes!)

share|improve this answer
I can't explain it, but sometimes this method works better. Sometimes I have to use both methods lol. – omega Jul 25 '14 at 4:34
@omega this method offers more control. – GiantCowFilms Jul 25 '14 at 5:10

For people who don't have Adobe Photoshop, here's a free and cross-platform alternative:

Using ImageMagick, it can be done in command line

convert lQchR.png -auto-level -white-threshold 78% fish.png

enter image description here

This may require some fine tuning of the white threshold value, but it's quicker than GUI especially when you have multiple pictures:

convert *.png -auto-level -white-threshold 78% x-%04d.png


Another method using division was pointed out in the comments by joojaa

convert fish.png ( +clone -blur 0x80 ) -compose Divide_Src -composite out_fish.png

enter image description here

share|improve this answer
+1 for imagemagick. Btw you can also do the lowpass division in imagemagick, the advantage being you dont need to prime the balance value. Which is arguably better in terms of automation. – joojaa Sep 25 '14 at 12:51
@joojaa I'm not familiar with that option. Feel free to edit a new paragraph into the answer if it works better – Timmy Sep 25 '14 at 12:58
@Timmy convert fish.png ( +clone -blur 0x80 ) -compose Divide_Src -composite out_fish.png the method is described here. Add auto level if you wish. – joojaa Sep 25 '14 at 15:39
@joojaa Thank you. I added it to the answer along with the result – Timmy Sep 25 '14 at 16:27

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.