Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Вниз

Можно ли программно определить "испорчен" ли JPG файл или нет?   Найти похожие ветки 

 
Hmm ©   (2005-01-14 12:55) [0]

Здраствуйте.

Возник вопрос, можно ли программно определить "испорчен" ли JPG файл или нет? Какие особенности (размер, что-то еще) могут на это указывать?

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

Спасибо за внимание.


 
Neznaika ©   (2005-01-14 12:59) [1]

Попробовать открыть (IMHO) если не откроется then Showmessage("Гафно-картинка"). Опять-же IMHO.


 
Hmm ©   (2005-01-14 13:09) [2]

Да, это наверняка сработает с теми картинками, которые убиты насовсем (есть и такие).
Но вот как быть с теми, которые нормально открываются, но выдают жуткие вещи, вместо изобразительного искусства?


 
Smithson   (2005-01-14 13:14) [3]

При открытии jpeg стандартный TJPEGImage генерит исключение, если структура файла повреждена (как раз те самые жуткие художества). Ловить его и смотреть, что там случилось.


 
Hmm ©   (2005-01-14 14:24) [4]


> TJPEGImage


Спасибо.


 
Hmm ©   (2005-01-17 10:55) [5]

Снова здраствуйте.

Дошли, наконец руки до этого дела и сразу появились вопросы.
Все ж таки я не смог при использовании TJpegImage добиться реакции отличной от TImage. Открываю полностью убитый файл, в обоих случаях генерируется одинаковое исключение.

Но суть даже не в этом. TJpegImage также не выдает никаких исключений при попытке открыть картинки в
> ужасном качестве (непонятные линии, цвета и т.д.).

Вообще возможно ли на этапе открытия проанализировать состояние изображения (кроме как визуально)?


 
Neznaika ©   (2005-01-17 11:03) [6]

Смутно себе представляю...
Это что прога должна анализировать все цвета и линии на картинке и если что-то не так говорить Вам этом. апример это Ваша фотография, и если кто-то пририсовал Вам усы программа должна проигнорировать фотку, так?


 
Hmm ©   (2005-01-17 11:30) [7]

2 Neznaika
Ну суть я вроде бы описал в самом вопросе Hmm ©   (14.01.05 12:55)  


> пририсовал Вам усы

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

Я лишь сделал предположение о возможности обнаружить "усы".
Собтвенно, вроде бы Smithson  (14.01.05 13:14) [3] меня понял.
Остается вопрос каким образом открыть такой файл, чтобы вызвать исключение?

PS: Если конечно это всетаки возможно.


 
Анонимщик ©   (2005-01-17 11:39) [8]

Становится очевидным, что ты сам должен файл открывать, разбирать заголовок, начало блоков, производить декодирование, обратное косинусное преобразование и т.д. Либо найти библиотеку, которая предназначена для восстановления файлов нужных тебе форматов. Формат jpeg"а несекретный, в интеренете найдешь. Только станешь ли этим всем заниматься?


 
Neznaika ©   (2005-01-17 11:42) [9]

>>Hmm ©   (17.01.05 11:30) [7]
Да я то Вас тоже понял - я утрирую.
Но по моему единственный вариант обнаружить в картинке нарушения цветобаланса - это сравнение с нормальной такой же картинкой.

Я могу ошибаться (надеюсь так оно и есть т.к. я бы тоже взглянул на такой исходник с удовольствием).


 
Amoeba ©   (2005-01-17 14:58) [10]

IMHO решение задачи программным путем будет (если это вообще возможно) потребует не на один порядок больше времени, чем отбраковка вручную.


 
Ega23 ©   (2005-01-17 15:01) [11]

2 Hmm ©   (17.01.05 11:30) [7]

Пиши собственный декодер JPEG, отличный от Борландовского. За одно и с алгоритмом Хаффмана разберёшься.
Я когда-то очень давно так с tiff"ом поступил.


 
Hmm ©   (2005-01-17 15:46) [12]

2 All
Сильно облегчите задачу, если скажите где про это:
> Становится очевидным, что ты сам должен файл открывать,
> разбирать заголовок, начало блоков, производить декодирование,
> обратное косинусное преобразование и т.д.

и про это:
> декодер JPEG, отличный от Борландовского.
> За одно и с алгоритмом Хаффмана разберёшься.

и вообще про формат Jpeg как таковой, можно почитать?


 
Ega23 ©   (2005-01-17 15:49) [13]

и вообще про формат Jpeg как таковой, можно почитать?

адрес свой давай. пришлю архивчик, там всё доступно расписано.


 
Neznaika ©   (2005-01-17 15:51) [14]

Если не лень то пришли и мне, тоже интересно!


 
Hmm ©   (2005-01-17 16:02) [15]

asm.hmm@mail.ru


 
Ega23 ©   (2005-01-17 16:17) [16]

Ловите оба!


 
Hmm ©   (2005-01-17 16:23) [17]

Получил. Спасибо.


 
Neznaika ©   (2005-01-17 16:47) [18]

Поймал Thank You



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.035 c
6-1099644586
Progh
2004-11-05 11:49
2005.01.30
Отправка сообщения на ICQ


11-1087067965
Андрей2
2004-06-12 23:19
2005.01.30
Не происходит переключение между формами


14-1105562655
Гарри Поттер
2005-01-12 23:44
2005.01.30
Как пометить jpg картинку?


1-1106040793
hgd
2005-01-18 12:33
2005.01.30
Создание Dll с формой, а на форме есть ActiveX


14-1105271522
Чеширский_Кот
2005-01-09 14:52
2005.01.30
Чужие





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский