I came up with this:
The parameters are applied to the images as listed, so this will:
Code: Select all
mogrify -normalize -scale 240x252^ -liquid-rescale 240x252\! -scale 80x84 -format bmp *.*
Normalize the image: optimal contrast is applied. This fixes most bad scans with too much brightness, where black is gray and white is gray, too.
Scale it down to fill an area (^) of 240x252, maintaining the current aspect ratio of the image. Image will likely still be larger.
Liquid-Scale it down to exactly (!, masked as \! for your terminal copy/pasting convenience) 240x252, ignoring the old aspect ratio and making it 20x21. This is the cool part: using seam carving, ImageMagick removes not a line of pixels but a seam, thus it mostly looks like one moved parts of the image to fit closer together.
So, assuming the source images are somewhat square and not too rectangular - and/or have many parts with little detail, you should get fairly decent results. And while this is still distorted in a way, it's a lot less obvious and looks really good on most covers I tried it with so far.
Side note for ImageMagick cracks: yeah, the 240x252 step isn't ideal, but ImageMagick seemingly can't change just the aspect ratio based on the current resolution. That would require scripting. However, this still a lot better than directly (liquid-)scaling to 80x84 because it becomes messy quickly that way. Feel free to correct me, though; I'd love for this to work more elegant and precise.