I spent the last two days scanning photos from my family albums (about 900 photos). Scanning each photos individually will take lots of time, however not any further processing is needed. When you scan multiple images at once, you need to crop and straighten each photo from a single page you scanned.

With the scanner I had, I could fit 4 photos and scan them at once. And so I did. I chose it over scanning each photos individually because there are some tools to automagically crop photos from a group of scanned photos.

One thing that is very important in order to split photos is to make sure that there is some gap between the photos. Meaning, when you put the photos in the scanner, there should be a uniform background that separates each photos. They should not be overlapping, or touching each other. The splitter tools crop the photos based on where the background begins and ends, so this is important.Scanned Family PhotoHere are the tools that can help you to auto-split scanned images by batch cropping (and straightening) them. I have listed 6 tools here, two of which can be used on Linux, and four can be used on Windows (& some on mac).

Photoshop

To access this feature, you can go to File > Automate > Crop and Straighten Photos.

But, what if you have multiple scans, and you need to split them into single images like in my case?

Luckily, I found a PS script that does this for you.

#target Photoshop
app.bringToFront;
var inFolder = Folder.selectDialog("Please select folder to process");
if(inFolder != null){
var fileList = inFolder.getFiles(/.(jpg|tif|psd|)$/i);
var outfolder = new Folder(decodeURI(inFolder) + "/Edited");
if (outfolder.exists == false) outfolder.create();
for(var a = 0 ;a < fileList.length; a++){
if(fileList[a] instanceof File){
var doc= open(fileList[a]);
doc.flatten();
var docname = fileList[a].name.slice(0,-4);
CropStraighten();
doc.close(SaveOptions.DONOTSAVECHANGES);
var count = 1;
while(app.documents.length){
var saveFile = new File(decodeURI(outfolder) + "/" + docname +"#"+ zeroPad(count,3) + ".jpg");
SaveJPEG(saveFile, 12);
activeDocument.close(SaveOptions.DONOTSAVECHANGES) ;
count++;
}
}
}
};
function CropStraighten() {
executeAction( stringIDToTypeID('CropPhotosAuto0001'), undefined, DialogModes.NO );
};
function SaveJPEG(saveFile, jpegQuality){
jpgSaveOptions = new JPEGSaveOptions();
jpgSaveOptions.embedColorProfile = true;
jpgSaveOptions.formatOptions = FormatOptions.STANDARDBASELINE;
jpgSaveOptions.matte = MatteType.NONE;
jpgSaveOptions.quality = jpegQuality;
activeDocument.saveAs(saveFile, jpgSaveOptions, true,Extension.LOWERCASE);
}
function zeroPad(n, s) {
n = n.toString();
while (n.length < s) n = '0' + n;
return n;
};
 https://forums.adobe.com/thread/290194
 
  • Copy the above code and paste it onto a new file. Save the file as BatchCropAndStraighten.jsx (Take note of the file extension)
  • Now, move the file to: C:/Program Files/Adobe/Adobe Photoshop CS#/Presets/Scripts/  if you are on PC, or [hard drive]/Applications/Adobe Photoshop CS#/Presets/Scripts/ if you are on mac.
  • On Photoshop, Go to File > Scripts > BatchCropAndStraighten.
  • Select the source folder (where you have stored the scanned photos).
  • It will select each scanned image from the folder, split the photos and store them on edited folder inside the same source folder.

If the edited folder does not have split images, but the original scanned image, then you need to run BatchCropAndStraighten once again, but this time, choose the edited folder as your source folder. The new edited folder (inside the old edited folder) should contain split photos that have been cropped and straightened. I hope you got what I am saying.

Photoshop Elements

Go to Image > Divide Scanned Photos.

GIMP

Linux/Windows Users can use GIMP to split the photos. The instructions below are for Ubuntu users.

  • First, install GIMP. (sudo apt-get install gimp)
  • Follow the directions to compile deskew plugin for GIMP.  (Note: In the end, the command to copy deskew to plugins folder should be : sudo cp deskew /usr/lib/gimp/2.0/plug-ins)
  • Copy it to /usr/share/gimp/2.0/scripts/  (sudo cp DivideScannedImages.scm /usr/share/gimp/2.0/scripts/)
  • Open GIMP.
  • Go to Filters -> Batch Tools -> Batch Divide Scanned Images…
  • Select the Load From (source) and Save Directory (destination). The Abort Limit specifies maximum number of photos that are to be detected in a single scanned page. Play around with other settings.
  • Click on OK.

Other Tools

  • AutoSplitter (Windows)

  • Mutlicrop Script (All)

    You need to have ImageMagick Installed. But, you need to operate it via terminal/command prompt. So, google for the instructions on how to use it.

  • ScanSpeeder (Windows)