Автор Тема: Разбор формата jpg  (Прочитано 6553 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Разбор формата jpg
« : 08 Февраля 2003, 18:17:42 »
Люди, да! Помогите! Не дайте умереть любопытному не разобравшись :) В jpg файле может быть более 1 сегмента SOF0 ?
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Разбор формата jpg
« Ответ #1 : 10 Февраля 2003, 10:31:59 »
Вряд ли.... может быть в Progressive JPEG?
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Разбор формата jpg
« Ответ #2 : 10 Февраля 2003, 16:01:28 »
А как же contents of the segment, max. 65533 bytes из "JPEG/JFIF file format", при общем обьёме файла > 1 Мб
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Разбор формата jpg
« Ответ #3 : 10 Февраля 2003, 16:14:02 »
А разве изображение лежит не между SOI и EOI?
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Разбор формата jpg
« Ответ #4 : 10 Февраля 2003, 16:29:04 »
Чёта я читаю описание на jpg и у меня тупило включается
SOI = Start Of Image = \'FFD8\'
 This marker must be present in any JPG file *once* at the beginning of the file
- маркер должен присутствовать в любом файле jpg однажды в начале
потом про сегменты начинают бухтеть и грят, что мол любое количество их, но длина каждого <65533 байт.
Может сменить описание формата на более правильное :)
Я собственно пытаюсь выдрать высоту-ширину  картинки из jpg файла. При условии, что один сегмент все получается, но вот меня мучает вопрос, а что если больше одного?
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Разбор формата jpg
« Ответ #5 : 10 Февраля 2003, 16:35:52 »
Цитировать
что если больше одного

И что у них разные размеры могут быть??? Сомневаюсь.
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Разбор формата jpg
« Ответ #6 : 10 Февраля 2003, 16:49:50 »
Прочитал по русски http://www.programer.ru/index.php?div=frmt&doc=jpg&file=jpeg.htm  , но все равно не понял :(
Что значит длина сегмента? Количество байт содержащихся в сегменте, чтоль? < 65533, ну допустим. Сегмент SOFO один, пусть < 65к, выцепляю размер, он правильный (ACDSee такой же показывает) , файл>1Mb. Там что, все остальные сегменты, в остальной части? И это показательтого, что зря я этот файл jpeg\'ом помял. Так получается???

[off]Люди, да! Помогите! Не дайте умереть любопытному не разобравшись :) кто нить png формат разбирал, где там ширина/высота зарыты[/off]
« Последнее редактирование: 10 Февраля 2003, 16:57:26 от Mog. »
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Разбор формата jpg
« Ответ #7 : 10 Февраля 2003, 17:50:27 »
А на чем ты это все пишешь?
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Разбор формата jpg
« Ответ #8 : 11 Февраля 2003, 15:42:12 »
Цитировать
на чем

На Perl , про модули работы с графикой знаю. Однако мне нужно всего ничего - размеры картинок определять. Не исключено, что у меня выйдет очередной велосипед :) , так хоть для общего развития польза будет.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Metaller

  • Мелкое злобное существо
  • Ветеран
  • *****
  • Сообщений: 538
  • +0/-0
  • 2
    • Просмотр профиля
    • http://michael.pp.ru
Разбор формата jpg
« Ответ #9 : 11 Февраля 2003, 15:45:23 »
ты же вроде и так получаешь правильно размеры? Ну так и забей на остальной мег... или есть желание разбираться с квантованием и DCT? ;)
Everybody\'s Got A Ticket To Ride Except For Me And My Lightning...

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Разбор формата jpg
« Ответ #10 : 11 Февраля 2003, 15:59:35 »
С квантованием разбираться не желаю :) просто хочу свои сомнения развеять. А вдруг попадется файл где > 1 сегмента SOF0 ? Мало ли извращенцев :) А перебирать весь файл на наличие нужных маркеров чета ломает.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Athathoth

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.ael.ru/_crush
Разбор формата jpg
« Ответ #11 : 22 Февраля 2005, 09:53:13 »
Жаль тема завершилась так до конца и не обсудившись...
В общем хочу ее поднять.

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

Однако блока SOF0 вообще может не существовать... Как в данном случае узнать размер jpeg??? Может сталкивался кто?

Оффлайн Athathoth

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.ael.ru/_crush
Разбор формата jpg
« Ответ #12 : 23 Февраля 2005, 08:27:39 »
Цитировать
Athathoth:
Однако блока SOF0 вообще может не существовать...

Нашел в чем причина... Просто существуют несколько алгоритмов сжатия.
Если отсутствует блок SOF0, то следует поискать блок SOF2, а может быть даже и SOF1. На сколько я понял заголовки у них одинаковые...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28