Есть ли способ восстановить поврежденные файлы JPEG? - Фотопедия
4 голосов
/ 06 июня 2012

Мне интересно, есть ли способ восстановить поврежденные файлы JPEG.

Они были повреждены, потому что я удалил папку по ошибке и быстро восстановил ее с помощью программы восстановления. Большинство фотографий просто отлично, но у некоторых есть проблемы вроде

  • серые области внизу
  • смещения цвета / изображения некоторых полос изображения

Я попытался проверить целостность с помощью инструмента jpeginfo, и это фактически показало мне, что на этих фотографиях были некоторые проблемы, связанные с битовым потоком Хауфмана с контрольной суммой.

Существуют ли какие-либо инструменты, которые могут попытаться восстановить эти образы? Некоторые из них ясно показывают, что данные все еще там, просто запутались.

Ответы [ 2 ]

4 голосов
/ 06 июня 2012

Это длинный кадр, но если ваши JPEG-файлы закодированы в прогрессивном режиме, то вы сможете спасти версию вашего испорченного изображения с более низким разрешением.

Прогрессивные JPEG кодируются в виде нескольких дополнительных «сканирований». Файл начинается со сканирования, которое представляет все изображение с очень низким разрешением, каждое последующее сканирование строится поверх предыдущего и добавляет дополнительное разрешение. Этот инкрементный процесс продолжается до тех пор, пока не будет получено изображение с полным разрешением.

Теоретически, если ваши JPEG-файлы являются прогрессивными, вы сможете прекратить декодирование, когда обнаружите поврежденное сканирование, и, хотя изображение будет иметь более низкое разрешение, чем оригинал, по крайней мере, оно будет целым.

Я полагаю, что инструмент jpeginfo, который вы используете, скажет вам, являются ли ваши jpegs прогрессивными или базовыми, поэтому это будет быстрый тест, чтобы решить, нужно ли вам тратить больше времени на это потенциальное решение или нет.

К сожалению, я не смог найти ни одного инструмента, который мог бы создавать инкрементные разрешения как отдельные изображения, для этого может потребоваться специальный инструмент, построенный на libjpeg .

3 голосов
/ 06 июня 2012

Если проблема связана с Хаффманом (это часть сжатия JPEG без потерь), тогда ваши шансы на восстановление информации об изображении действительно минимальны. Хаффман, как и другие формы энтропийного кодирования, минимизирует избыточность информации в потоке данных, в идеале до абсолютного минимума. Это означает, что, скорее всего, нет «других частей» сжатого потока, которые вы можете использовать, чтобы узнать о природе отсутствующей или поврежденной части.

Тем не менее, может быть доступен какой-то инструмент для восстановления определенного образа, который у вас есть. В противном случае, какое-то ручное редактирование фотографий, например, пример @mattdm в вопросе, с которым он связан, спасет мою фотографию.

Примечание: интересное прочтение - это первые два абзаца аннотации этого документа .

...