Take the 2-minute tour ×
Graphic Design Stack Exchange is a question and answer site for Graphic Design professionals, students, and enthusiasts. It's 100% free, no registration required.

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.

Thanks

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 at 4:59
1  
@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 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 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 at 9:05

4 Answers 4

up vote 26 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 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 at 9:34
6  
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 at 10:27
2  
@bakabaka, that is very true, you could also make an action and run it on an entire folder of images. –  Circle B Jul 25 at 12:45
1  
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 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 at 0:03
1  
So edit your answer! –  David Richerby Jul 26 at 9:14
1  
@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 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. –  DumbNic Sep 25 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 at 15:53

Ramp the contrast up with curves.

Instructions:

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 at 4:34
    
@omega this method offers more control. –  GiantCowFilms Jul 25 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


Edit:

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
2  
Hi Timmy, welcome to GDSE and thanks for your answer. If you have any questions, please see the help center or ping one of us in chat once your reputation is sufficient (20). Keep contributing and enjoy the site! –  Vincent Sep 25 at 8:44
    
+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 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 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 at 15:39
    
@joojaa Thank you. I added it to the answer along with the result –  Timmy Sep 25 at 16:27

Your Answer

 
discard

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.