Alley in Pisa, Italy

by Lars Kotthoff

submit your photo


Hall of Fame
View past winners from this year

Please participate in Meta
and help us grow.

Take the 2-minute tour ×
Photography Stack Exchange is a question and answer site for professional, enthusiast and amateur photographers. It's 100% free, no registration required.

I have a bunch of scanned old family photos where the photo paper has a texture. Unfortunately, the texture of the photo scans quite well. What is the best way to remove the texture? (Photoshop CS5)

enter image description here

share|improve this question
2  
I have just tried the following: copy a small (50x50 px) area of the "white" paper, define a pattern with it, overlay a new layer filled with that pattern, invert the layer, set the blending mode of the new layer to Subtract. By moving the upper layer slightly left/right and up/down you can cancel out some of the pattern. I did not manage to cancel the pattern on the whole image. Maybe you can improve this technique. –  Bart Arondson May 15 '12 at 17:47
    
_____good idea! –  Jakub May 15 '12 at 18:15
2  
If you use the pattern approach, you really want to make sure the pattern is repeatable. That may mean you have to work it a bit to match up on every edge, which may mean it changes from an exact 50x50. If you can get the pattern to repeat seamlessly, you will probably have better luck. –  jrista May 16 '12 at 0:21
1  
I would check out the Adobe Forums for Photoshop, plenty of PS gurus there that can help you. - forums.adobe.com/community/photoshop/general –  Lynda May 16 '12 at 3:40
1  
@Jakub Would you consider changing your accepted answer? While John's initial approach is pretty decent, I think it pales compared to the other two approaches (rotating the image and overlaying, or using FFT). –  mattdm Oct 10 '13 at 2:14
add comment

8 Answers 8

up vote 13 down vote accepted

The textbook method is, as others mentioned, to suppress the texture in frequency space. I will explain how to find the correct filter, that you can basically do manually in ImageJ (freeware java app). When you open the program it is a strip of menu. The parts you need are:

  • File Open
  • Selection rectangle
  • Edit Crop
  • Process-> FFT -> FFT
  • Process-> FFT -> Inverse FFT
  • Paintbrush (with black color)

First, load your image. Then select the part that's only white with texture. Do FFT on this crop:

Analysis

You now notice a star pattern. This is the pattern to recognize when you open the image again, and do FFT on the whole thing:

whole fft

Now, don't remove the center point as that is the "DC" value. Which means the average brightness. Use the paintbrush to eliminate the other stars. Make the black points big enough but not too big (play around with it). If you overdo it, you will get banding around the edges and borders.

removal

Now do inverse FFT:

result

(Note: You need to have the FFT image window selected when you try to do the inverse FFT. If you have the original image window selected, you'll get an error saying "Frequency domain image required".)

And if you can do this at higher resolution than you need, you can downsize the image with lanczos resampling for an even better result:

scale down

If you know some scripting or programming you could impose this elimination pattern automatically on an entire set.

share|improve this answer
    
It's probably a good idea to also black out the other regularly spaced dots in the FFT that are clearly extensions of the central pattern (and correspond to its higher harmonics). –  Ilmari Karonen Jun 18 at 21:08
    
It's a delicate procedure. you risk adding ringing effects, so that's why I keep the edit to a minimum wiht this inaccurate mouse click based edit. To the user who got an error in the procedure: make sure the correct window is selected when doing the inverse fft. –  Michael Nielsen Jun 18 at 21:11
add comment

I would like to add my technique!

  1. Scan the photo once as usual.
  2. Rotate the photo 180% on the scanner and scan again.
  3. In Photoshop, un-rotate the second scan.
  4. Import it as a layer on top of the first scan.
  5. Auto-Align Layers using Photoshop command.
  6. Assign second scan 50% opacity to blend images together.

This technique comes from observing that the highlights and shadows of the photo paper texture are largely reversed when scanned from the opposite direction. Blending two such scans together cancels out most of the texture this way.

Textured Photo de-texturing

Obviously this doesn't clear it up 100%... maybe 2 more scans at 90 and 270 degrees added to the mix would do more. But the big plus is that it DOESN'T remove any information from the photo, providing a much cleaner baseline which should require less-destructive settings in subsequent filtering. I was able to further clear things up a tiny bit by copy-pasting the "Difference" between the two aligned scans into a new Difference level at about 10% opacity, but I've never been brilliant at those level filters at the bottom of the list... so your mileage may vary.

I also think this process may help reduce subsequent destructive filtering for random textures such as light scratches. Hey, what does it cost to try, right? If it works for you, tell your friends.

share|improve this answer
1  
Interesting and clever technique! I've posted another method. You might be able to use lighten/darken blend modes for lighter and darker areas of the image, rather than setting opacity to 50%, which will average out the pixels, lowering contrast. –  MikeW Jan 14 '13 at 17:44
    
Just saw this one and I too think it's a pretty slick idea if you have the resources to do it. I'll have to remember it. –  John Cavan Oct 8 '13 at 20:53
1  
that is genious! :D –  fortran Dec 22 '13 at 18:07
    
Tried every method. Taking a scan from 6 to 8 different rotations and auto aligning them and setting them to darken produces almost a perfect image for me, while the more complicateds listed above leave much to be desired. –  user24898 Dec 23 '13 at 23:03
add comment

Since the noise is periodic, your best option is to Fourier-transform the image and filter out the specific spatial frequencies of the noise. This way you will preserve a lot more detail than with any gaussian-based filtering.

I don't know whether Photoshop can do that, but here is an example using ImageMagick.

share|improve this answer
    
+1 That's what I'd do!!! Matlab can do it as well, and also Octave + Octaveforge image processing toolbox –  clabacchio Jun 5 '12 at 13:30
add comment

So... I'm by no means an expert at this, but... Here's what I did with your image:

  1. Duplicate image layer

  2. Apply gaussian blur to new layer (mine was 2.9 pixels, adjust as you desire)

  3. Set new layer blending mode to luminosity and adjust opacity to suit

  4. Flatten the image

  5. Unsharp mask to taste. I used 72% with a radius of 5 and threshold of 4, but play with these to taste.

  6. Expect to lose a little detail, it's inevitable.

The result:

enter image description here

Not too bad, I think, given a JPEG start. You can play with a lot of these steps to get close. Anyways, my source for this idea was: http://www.advancingwomen.com/photography/40944.php and I'd say it works... :)

share|improve this answer
3  
I think your technique is right on. The step you're missing is to start with the absolute highest resolution scan you can get, and resize at the end to the size you want, effectively adding a little sharpness back in. –  Dan Wolfgang May 16 '12 at 13:14
    
Not too bad at all! Thanks. I was experimenting with Median Noise removal with decent results. I have a sharper image but still some visible pattern (Does a better job on a newspaper or a magazine scan moire pattern) I followed your steps and am happy with the results. –  Jakub May 16 '12 at 14:59
    
@Jakub - Glad I could help. I suspect some variations on this, with NR and the like may further improve it. There are also 3rd party tools for sharpening, contrast, tone, and so on that would further punch it up (e.g. Topaz, Nik, etc.). –  John Cavan May 16 '12 at 18:07
2  
@Dan - Yeah, more detail to start means more to end with. He might also try other sharpening techniques such as smart sharpen, high pass, etc. to see if they do better or worse then unsharp masking does. –  John Cavan May 16 '12 at 20:04
add comment

Do you still have access to the original photos?

The best thing you can do is to put it on a copy stand with two lights on goosenecks and re-shoot with a good digital camera. You can play with the positions of the two lights to eliminate the texture.

Other copy stand possibilities:

  • use crossed polarizers -- one on the lights in one direction, one on the lens in the opposite direction. This can dramatically reduce texture "noise" from non-metallic surface.
  • use a diffuser to lower the contrast of your light source. This can be a white plastic bowl from a thrift store, with a hole cut through it to shoot through. Or even an old bedsheet -- anything to make your light source "larger" will reduce or eliminate texture effects.

If you have a quantity of these to do, it might be worth spending the relatively small amount needed to put together a good copy stand setup. If you don't want to invest in a copy stand, a versatile tripod -- one with a centre column that can tilt -- might do in a pinch.

I'm a big fan of correcting such things as early in the process as possible, rather than the "fix it in Photoshop" approach. This is certainly something that can be easily cured in the digitizing phase to give you much better quality than anything you could do in Photoshop, which will ultimately be at least somewhat destructive of image quality.

share|improve this answer
add comment

I think you can do better than a large radius blur.

For removing light coloured dust, a common technique is to duplicate the image, set the blend mode to darken, then nudge (move) the duplicate layer a few pixels so that darker pixels overlay where the dust is (and these darker pixels are from the immediate surrounding area, so match the colour/tone well). Because you use darken mode, only lighter coloured pixels (the dust in this case) are affected. You then use a mask to paint over the the dust.

For dark coloured defects you use a duplicate layer with lighten blend mode.

Because you have a nice pattern of alternating lighter and darker pixels, you can use a combination of two duplicate layers, one in darken mode, the other lighten mode. This is a common technique in photo restoration for removing textures like this:

  • duplicate the layer, call it "lighten", set layer blend mode to lighten
  • duplicate the layer again, call it "darken", set blend mode to darken
  • with the move tool selected, nudge each of these layers a few pixels (I'd move one up and to the right, the other down and left - you'd have to experiment with the exact number of pixels to move.
  • you should see the texture start to melt away
  • in light areas like the background you probably want to mask out the darken layer, and in darker areas mask out the lighten layer

Below is a before/after that I've done quickly. You should be able to get better results by using the higher resolution original, and by using many layers and fixing one area at a time (background, cap, skin, uniform). You can still see some texture which you can fix address with a light blur, or by repeating the technique again.

enter image description here

I have masked the layers like so:

enter image description here

Oh, and take special care around the eyes. If everything else ends up a bit blurry, as long as the eyes are sharp, the image will look good. I would zoom in on the eyes and spend a lot of time on them, and after smoothing out the texture, would then sharpen them. You may end up with some artifacts, but you want sharp eyes!

share|improve this answer
1  
It looks like this works quite well and seems to preserve the most detail, and maybe combined with the method from Ken Huegel (which also seems to work very well), you might get the best detail preservation with the least surface texture. –  jrista Jan 15 '13 at 18:37
add comment

A very good way to remove texture is with Neat plug in at neatimage.com It removes patterns easily in one pass with minimal blurring. You have to increase the filtering in the Y channel to 100%. Then Focus Magic can be used to remove any blurring. The result does have a few artifacts which can easily be removed by hand. Neat filter, Focus Magic

share|improve this answer
add comment

FFT

I would you recommend to use FFT method. This way you don't get that blurry picture. All details stay. ImageJ (for Mac) is a good app for that. There are lots of FFT plug-ins for Photoshop you can find on the internet as well.

share|improve this answer
3  
Could you explain a little bit about what the FFT method entails? Was the image you've posted done in that way? How did you do it? The results look great. –  mattdm Oct 8 '13 at 20:10
    
Michael posted a more detailed explanation of the FFT method. –  John Cavan Oct 9 '13 at 22:51
add comment

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.