My phone (android, fwiw) takes pictures that are corrupted. I'm not sure why or how it is doing this, but it seems to prevent me from uploading the photos to some services. If I move the photos to my computer and open them in GIMP I see a warning message:
Corrupt JPEG data: 1130 extraneous bytes before marker 0xd9
The error doesn't prevent me from viewing or editing the photos, but I'm wondering if there's some way to set up a batch process that would fix this problem?
It's hard to tell without an image to try it on, but I would think ImageMagick would rewrite your images properly without the superfluous data. If you are on Linux it is probably installed, look for a program called convert
and/or mogrify
whcih belong to ImageMagick, else you can install it from here.
Then you want a command that does nothing too drastic to your image, so something like this should be pretty harmless:
mogrify -set comment 'Extraneous bytes removed' *.jpg
Back up your files first though, and test before applying to thousands of images!
I had the problem that the jpg file ended prematurely and mogrify wouldn't resize my images. My solution to this problem was to convert the images to png and back to jpg. This fixed the problem:
#!/bin/bash
mogrify -format png *.jpg
rm *.jpg
mogrify -format jpg *.png
rm *.png
There might be a quality loss due to compression artifacts, but for my purpose this was fine.