
Недавно я по глупости удалил несколько фотографий, которые мне не следовало удалять. Я использовалпрограммапри восстановлении фотографий некоторые из них вернулись в поврежденном состоянии, как показано ниже, с серыми областями.
Есть идеи, как это исправить? Информация явно есть в какой-то форме, так как когда я просматриваю фотографии с помощью Windows Photo Viewer, полное изображение отображается на долю секунды, пока Windows генерирует предварительный просмотр.
решение1
Некоторые большие изображения содержат меньшую миниатюру, которая представляет собой версию всего изображения в низком разрешении.
Это меньшее изображение внутри изображения используется некоторыми программами, такими как Windows Explorer, при отображении изображения в виде значков. В противном случае для отображения значка изображения потребовалось бы считывание всего изображения и преобразование его в размер значка, что неприемлемо замедлило бы отображение папки.
Я предполагаю, что Windows Photo Viewer отображает эту миниатюру в удобной для пользователя манере, одновременно считывая более крупное изображение. Однако, это более крупное изображение повреждено, и только миниатюра сохранилась в целости и сохранности.
Recuva — хорошая программа для восстановления фотографий, поэтому я предполагаю, что повреждение вызвано тем, что вы перезаписали эту часть изображения. Никогда не записывайте данные на том, который хотите восстановить.
Однако, если этот том все еще относительно цел, вы можете попробовать другой очень хороший продукт для восстановления файлов:
Восстановление файлов PC INSPECTOR
но не забудьте скопировать восстановленные образы на другой том, иначе при восстановлении одного образа вы можете уничтожить другой.
Для восстановления поврежденных изображений JPEG см. эту ветку:Поврежденные JPEG-файлы, миниатюра извлечена....
Он рекомендует довольно много таких инструментов, а также инструментов для извлечения миниатюр.
ExifToolвыглядит особенно хорошо.
решение2
Раскрытие информации:Несколько лет назад меня спросили, можно ли восстановить такой файл, и я решил провести исследование. В результате мне удалось выяснить, как восстановить файл, и это в конечном итоге привело меня к написанию некоторых (не бесплатных) инструментов, которые я упомяну в этом посте. По возможности я буду указывать на бесплатные альтернативы.
Отказ от ответственности:С JPEG связано много математики. Я не обученный или не имеющий образования эксперт в этом вопросе, и многое из того, что я объясняю, я обнаружил, экспериментируя и находя «то, что работает». Так что не ждите, что вся эта информация будет научно корректной.
Это зависит от обстоятельств. Если мы видим такое изображение, то 3 вещи могут быть неправильными:
- Восстановлена или присутствует только часть файла (если не восстановлена каким-либо инструментом). Чтобы определить, так ли это, сравните размер файла с похожими файлами, снятыми той же камерой и с теми же настройками.
- Если размер файла хороший, часть файла может содержать неверные данные. Это проще всего проверить с помощью шестнадцатеричного редактора (например, HxD, бесплатный). Часто вы обнаружите, что большая часть файла заполнена нулями или какой-то повторяющейся байтовой последовательностью (FF FF FF FF и т. д.).
- Если предыдущие проблемы проверены, размер файла хороший, а данные по всему файлу имеют высокую энтропию, то даже незначительное повреждение в закодированных и сжатых данных изображения может нарушить работу декодера (встроенного в средство просмотра изображений).
Поскольку сценарий 3 — единственный, который потенциально можно исправить, давайте углубимся в него. Существуют определенные комбинации байтов, имеющие значение для декодеров JPEG: FF xx интерпретируется декодерами JPEG как так называемый маркер JPEG (видеть.). Эти маркеры используются для разделения JPEG на «разделы», все с разными целями. Если декодер обнаруживает пару байтов FF xx внутри фактических данных изображения, которая недействительна (не FF Dn (где n = от 0 до 7) и не FF 00), большинство декодеров просто прекратят декодирование. Это может быть результатом одного «битового переворота», когда FE становится FF. Поскольку часть данных изображения не декодируется, это проявится в виде серого блока. Удаление проблемной пары байтов — это только часть решения, поскольку мы не знаем исходных значений, но мне удалось восстановить изображения, используя только шестнадцатеричный редактор и средство просмотра изображений. ИспользуяJpegSnoopлегко определить адрес байта таких ошибочных комбинаций байтов. Однако из-за способа кодирования/декодирования JPEG эта проблема влияет на все последующие данные изображения (проще говоря, данные яркости и цветности сохраняются как дельта, например, разница относительно предыдущего блока). Чтобы исправить повреждение, вы можете использовать специальный редактор (вэто видео на YouTubeЯ использую свой собственный и бесплатный редактор, чтобы посмотреть, можно ли и как можно восстановить частично серый JPEG.). Только в очень редких случаях вам может повезти, и простая перезапись проблемных байтов нулями приведет к удовлетворительному результату:
Для сценария 2 решения нет. Сценарий/проблема 1 может быть вызвана неправильным восстановлением:
Инструмент восстановления с учетом файловой системы: Проще говоря, такие инструменты полагаются на поиск фрагментов данных файловой системы для обнаружения потерянных данных. Если предположить, что какая-то файловая система основана на FAT, поскольку они доминируют на картах памяти, используемых в цифровых камерах, инструмент находит запись каталога, из которой он может декодировать имя файла, размер файла, атрибуты файла и первый кластер. Затем он проверяет таблицу размещения файлов, чтобы получить остальные кластеры, и, наконец, повторно собирает файл. В случае, если цепочка FAT повреждена / неполна по какой-либо причине, может быть повторно собрана только часть файла. Этот тип повреждения не редкость в файловых системах на основе FAT (FAT, FAT32 и в некоторой степени exFAT). Восстановление часто все еще возможно с помощью так называемого карвера, но они приносят свой собственный уникальный набор проблем.
Другая категория инструментов для восстановления файлов — это так называемые «карверы». Вместо того чтобы полагаться на файловую систему, они сканируют диск на предмет «магических байтов», которые могут указывать на наличие определенного типа файла. Если предположить JPEG, мы могли бы сканировать диск на предмет FF D8 FF на границах кластера или сектора, поскольку JPEG всегда начинаются с этой определенной комбинации байтов. Теперь мы знаем, где начинается файл.
Проблемы с этим методом: Многие инструменты довольно упрощены и предполагают, что они достигли конца JPEG, если сталкиваются с FF D9, который является маркером конца изображения JPEG, или если они сталкиваются с некоторыми магическими байтами, которые могут указывать на начало следующего файла. Многие из этих так называемых сканеров сканируют несколько типов файлов и по чистой случайности могут столкнуться с комбинацией байтов, которая соответствует какому-либо другому типу файла. Например, 49 44 33 — это совершенно допустимые данные JPEG, но также они являются магическими байтами для файла MP3. Упрощенный подход теперь заключается в том, чтобы сделать вывод, что мы достигли конца файла, и начать восстановление файла MP3. Вторая проблема — фрагментация файла, когда до достижения конца файла находится допустимая комбинация байтов для следующего JPEG. Многие резчики закрывают восстанавливаемый JPEG и начинают со следующего. Для этой проблемы нет простых решений, хотя существуют инструменты, которые либо позволяют вручную попытаться собрать такие файлы, либо даже пытаются разобраться с этим самостоятельно.