I received boxes full of old family pictures that were cropped with the old selection tool of “Physical scissors”. Here are my notes on how I scanned them and neatened them up.
Scanning
Arrange multiple pictures on all-in-one printer’s scanner bed and scan them.
Clean the scanner glass each time due to sticky stuff
Copy each page of scans to Pictures/date folder/boxNN_photo_scans_XX.jpg
Do a quick crop in the KDE image tool Gwenview if it’s got lots of white space.
GIMP!
Open the image in the fun free powerful open-source GIMP image editor. I use the GIMP 3.0 beta pre-release, download it here. The downside is many tutorials and guidelines on the web are for previous versions of GIMP, but that’s true even if you use the stable version 2.10.
Crop and straighten
Roughly crop to what you want
Press R for rectangle select, roughly select a picture.
Image > Crop to Selection
Press Ctrl+Shift+J so the picture fills GIMP’s window.
Straighten the scan
You can drag out some guidelines from the ruler to help get right rotation. Straighten out the picture with Image > Transform > Arbitrary Rotation… : Roughly drag with the mouse, then use arrow keys for slight adjustments, then click Rotate.
Update 2025: the old thread Straightening a Scanned Image gives several other techniques and good advice. It’s probably easiest to use Tools > Measure (Shift+M), draw a measuring line on one of the edges, then click Straighten.
If the photo is warped, you might need to “square” it up. More details below.
Make a tighter crop
Press R for rectangle select, make tighter selection
TODO: For a recent square picture, why don’t tools like Image > Crop to Content and Image > Zealous Crop cut out the white around the image for me?
Instead, you can use the Tools > Selection Tools > Fuzzy Select tool; since Image > Crop to Selection will crop to its rectangle, you don’t have to be accurate unless an entire edge of the picture is white enough to look like the white background of the scanner. So,
In the Fuzzy Select tool’s Tool Options, set a fairly high threshold (15?) You probably don’t want Antialiasing and Feather edges. I think you want Select transparent areas
- Click in the white border. This should mostly select the white border.
- Select > Invert to instead select the picture.
- You could at this point use Selection > Shrink… to shrink the selection by a few pixels to get rid of the random pixels of shadows and bleed along the edge of the photo, although I find each edge has more or less “bad” pixels.
- Image > Crop to Selection
If this doesn’t wipe out must of the white surround, you could Undo a few times to get back to the selected white surround, then use the Rectangle Select Tool in add to selection mode to add the white strip.
Optional: unwarping
If at this point you have thin triangular strips of white or alpha pixels around some edges, you can either forget this obsessive desire to preserve as many pixels of a crappy old snapshot as possible, or try to unwarp the scanned photo into a perfect rectangle. Maybe the easiest tool to use is Tools > Transform Tools > Perspective. Set it to Transform layer, Direction to Corrective (backward), Clipping to Crop to result. Then zoom in (Ctrl+Mouse wheel) on each corner of GIMP’s canvas and drag each diamond to the corner of the photo, and click Transform. In GIMP 3.1 this leaves a “Floating layer (transform)” because it’s a non-destructive edit; I think you can leave this, or right-click on it in the Layers panel and choose Anchor layer.
Spot repair
If the picture’s messed up, repaint it. I mostly used the healing brush, press H.
Press + to zoom in on the dust spot
I don’t understand brushes well, I mostly used the pixel brush
I mostly used high opacity to paint out the spot instead of having to click multiple times..
Adjust the brush size to match the size of the glitch.
Now Ctrl+Click somewhere near the spot that’s about the same color to set a heal source. If you have a big brush, choose something that has the right flow.
Click to repair the spot.
Click more to repair nearby stuff.. If you start repairing with wrong pixels, Ctrl+Click somewhere else to set a new heal source
Unfading colors
Strategy: Try various things in GIMP’s Colors menu. Undo-Redo are your friend – Ctrl+Z, Ctrl+Y.
Try the Colors > Auto fixups. When in doubt Undo. I found only “White Balance” was useful.
The main tool I used is Colors > Levels, it is gold.
For 1950s B&W image, stick to the Values channel. If color histogram is zero at the ends, then drag the pointers and move them inward. This will fix the colors.
For 1960s color images that have a reddish cast, they tend to have oversaturated reds, greens that turned brown, and blues that turned gray; do the level adjustment for each color. Red hit the max in the histogram some way in from the left end before 0 then dropped off, so similar Levels adjust as with B&W drag the left pointer to the start of the Red values.
Then do the other colors. I found these tended to have a better spread of colors, so drag the middle slider slightly to beef up the blues and greens.
For 1980s color images, the whites are often overwhite and the blacks are all black. I didn’t have much luck with Colors > Instead use Colors > Curves… (you can get there from Colors > Levels by clicking [Edit these Settings as Curves]. In Curves, drag the bottom of the diagonal line up (to spread out the blacks more, and drag the top of the line down (to reduce the overwhite).
Export the individual JPEG picture, and repeat
File > Export As… come up with a good name for the file ending in .jpg, uncheck Save Exif Data and Save XMP data. Scans don’t have a lot of useful info about the lens used or anything like that.
I left Save thumbnail and Save color profile checked, and blanked out any comment inserted by my scanner.
Click the Export button in the dialog’s title bar (not [Save Settings], that just remembers the options you chose for JPEG export.)
Then Ctrl+Z or use the Edit history women to undo all the way back to the page of scanned photos, and repeat for the other photos on the same scan.
Should I still be saving JPEG images?
I exported the cleaned up scans as JPEG. The problem with JPEG is it doesn’t support alpha (transparency). So when you delete the white background “behind” a scan, it can’t be represented as transparent, the blank pixels have to have a color. That’s a hassle if you’re eventually going to put the picture on a colored background, you’ll have slivers of white where you want to see the background. I probably should have exported to the WebP format, which most browsers support, which does support transparent pixels.
There is endless campaigning for browsers to support other image formats; I remember the .mng wars of the 1980s. People want browsers to show HDR images, more detailed images with 10-bit RGB pixels instead of 8, and images with even greater compression; the problem is there are multiple new image formats offering these features, including multiple newer versions of JPEG such as Jpeg2000 and now JPEG XL.
Presenting a slide show… in PowerPoint!
I wanted to put some of these photos on tablets for a family get-together. There is or was a way to set the Windows screen saver to be a slideshow of pictures in a particular directory, but I couldn’t figure out how to do the same on an Android tablet. It turns out PowerPoint has an automatic slideshow mode with auto-advance. I don’t have PowerPoint or pay for any part of Microsoft Office, but I was able to put all the pictures into the presentation program Impress of the free and open source LibreOffice office productivity suite. I fiddled around with the slide master, added a caption to many slides, and in the Slide Transition for every slide I set Advance slide to “After 6 seconds”. I saved this as a .pps (PowerPoint Show) file that starts in autoplaying mode. Then I loaded the slideshow onto tablets on which I had installed Microsoft’s free mobile version of PowerPoint for Android, put a link to the slideshow titled “CLICK ME” on the Android home screen, and if people did so the tablet would sit there running the slide show.