Проблема с LEAD Technologies JPG V1.01 - Плохое изображение - PullRequest
0 голосов
/ 07 мая 2018

У меня есть несколько изображений JPG, которые кажутся испорченными, но у программы, которая с ними работает, проблем нет вообще. Мне нужно преобразовать их в новую базу данных - используя C # или Delphi, чтобы сделать это.
Изображения хранятся в БД (которую я могу сохранить в файл, если мне нужно) - и изображение имеет следующий начальный текст в заголовке .... Плохое изображение

Когда должно быть что-то вроде Пример хорошего заголовка JPG

Обратите внимание, что на изображении есть текст LEAD Technologies V1.01. Я связался с компанией, и она в настоящее время работает на версии 20.x - так что она настолько старая, что даже их последние инструменты не будут правильно читать это изображение.

Кто-нибудь когда-нибудь имел дело с этой проблемой в прошлом? Если так - есть мысли о том, как бороться с этим?

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

По запросу - Полное изображение для обзора Загрузить полное изображение

1 Ответ

0 голосов
/ 25 мая 2018

Я пытался проанализировать ваши файлы и посмотреть, смогу ли я выяснить, как они повреждены.

Обычно файлы JPEG содержат хорошо известные маркеры, которые состоят из двух байтов, а именно 0xFF, за которым следует второй байт, который не является 0x00.

Если вы сканируете обычный файл JPEG на наличие маркеров, например:

xxd -c16 -g1 -u normal.jpg | ggrep --color=always  "FF [1-9A-F][1-9A-F]"

вы получите что-то вроде этого:

enter image description here

и вы можете увидеть:

  • SOI (начало изображения) - 0xFFD8
  • DQT (определить таблицу квантования) - 0xFFDB
  • DHT (определить таблицу Хаффмана) - 0xFFC4
  • SOS (начало сканирования) - 0xFFDA
  • EOI (конец изображения) - 0xFFD9

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

enter image description here

...