Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.30;
Скачать: CL | DM;

Вниз

Можно ли программно определить "испорчен" ли 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.041 c
14-1105700748
Andryk
2005-01-14 14:05
2005.01.30
Стишок про новый год, грустный. :(


14-1105121935
Fin
2005-01-07 21:18
2005.01.30
WI FI


3-1103714579
Garry_c
2004-12-22 14:22
2005.01.30
Как из события IBQuery.BeforeDelete заблокировать


14-1105282639
DillerXX
2005-01-09 17:57
2005.01.30
У кого есть Rambler телесеть (это по ящику канал вместо культуры)


14-1105625257
paul_k
2005-01-13 17:07
2005.01.30
Помогите тест проверить