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.
Finally, scale it to the target resolution, reduce colors to 32768 with dithering to avoid banding - and save it as a Bitmap.
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.