Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Чтение JPEG


Sunny Way ©   (2004-06-24 20:37:00) 

Добрый день! Есть ли компоненты или библиотеки, которые поддерживают чтение JPEG, сжатых без потерь (lossles compression)? Стандартный TImageJPEG читает только JPEG, которые сжаты с потерями (методом Baseline Sequential DCT), то же - FastJPG из библиотеки FASTDIB, и как загрузить jpeg с помощью delphix мне непонятно - стандартный класс TDIB из нее загрузку не поддерживает, других мне найти не удалось, несмотря на то, что в статье http://delphigfx.mastak.ru/2d/007/2d_7.htmнаписано, что это возможно. Также интересно существование библиотек, поддерживающих JPEG 2000.


Огромное Кулясищще   (2004-07-12 18:04:00) [1]

> я вижу что здесь собрались понимающие в jpeg человеки, помогите пожалуйста!! как вытащить из оного информацию о дате и времени съемки??

http://www.exif.org/
http://djernaes.dk/martin/jpeginfo.html
http://www.torry.net/vcl/graphics/jpg/texif.zip


Любопытный   (2004-07-12 09:23:00) [2]

я вижу что здесь собрались понимающие в jpeg человеки, помогите пожалуйста!!
как вытащить из оного информацию о дате и времени съемки??


Sunny Way   (2004-07-02 11:49:00) [3]

Итак, последние исследования показали, что ImageFileLib ( http://www.logicnet.dk/lib/) читает не все JPEG-2000, а читает ведь она с помощью JasPer ( http://www.ece.uvic.ca/~mdadams/jasper/)...


Огромное Кулясищще   (2004-06-30 14:32:00) [4]

Попахивает именно ихними наворотами, так как иначе зачем об этом отдельно писать и хвастать.


Sunny Way   (2004-06-30 12:34:00) [5]

Этот файл я получила очень хитрым образом и именно на сайте LEADTOOLS, но по идее LEADTOOLS заключил свою врименную пометку в маркер COM, т.е. комментарии, и файл в целом должен соответстовать стандарту JPEG. Так вот это изображение было инкапсулировано в файл стандарта DICOM (), из которого я вытащила его тем же путем, что и остальные изо, которые читались стандартными просмотрщиками изображений.

На самом деле устанавливая фактор сжатия 0 и используя обычные алгоритмы для lossy jpeg, файл все равно получится с потерями. Т.е. это не будет lossless jpeg, в котором используются принциально другие алгоритмы кодирования. И только в JPEG-2000  и для  lossless и для lossy jpeg  используются идентичные алгоритмы. Что подразумевали разрабочики LEADTOOLS мне пока непонятно, возможно это просто параметры именно их софта, который при установке фактора 0 делает lossless jpeg.


Огромное Кулясищще   (2004-06-29 21:32:00) [6]

Да, ситуация на самом деле очень тяжёлая. Для начала я заглянул сюда:

http://www.w3.org/Graphics/JPEG/

Ну тут всякое бла-бла, главное, что действительно на 2 направления разбит JPEG, причём мы имеем дело с JPEG JFIF, а это - суть http://www.ijg.org/.Однако Irfan View, который на JPEG.org:

http://www.jpeg.org/faq.phtml?action=show_answer&question_id=q3f042a257f0e2

рекомендуется для просматривания.

Внутри файла указана компания LEAD Technologies Inc, очевидно, они приложили руку к этому делу. Сайт:

http://www.leadtools.com

дал интересное описание:

"For JFIF and JTIF compression only, you can also use a factor of 0 to produce lossless JPEG files."

Однако я так и не поняло, насколько это стандартно.
Получается, что открыть файл может только то, что его и убило, т.е. LEADTOOLS SDKs (однако эта гадина платная). Ксати, а как такой формат у тебя вообще образовался?


Огромное Кулясищще   (2004-06-29 21:02:00) [7]

Файл получило, буду разбираться.


Sunny Way   (2004-06-29 19:56:00) [8]

Единственная библиотека на delphi, которая умеет читать что-нибудь кроме стандартного lossy jpeg еще и jpeg-2000, которую я нашла - ImageFileLib
  http://www.logicnet.dk/lib/


Sunny Way   (2004-06-29 19:46:00) [9]

И, кстати, пишет Infra View, что файл содержит неподдерживаемый тип компресии (тип маркера начала фрейма SOF3 - lossless).

Еще мне все-таки интересно про библиотеку от IJG, я немного посмотрела ее - переведенную на на паскаль

ftp.simtel.net:/pub/simtelnet/msdos/turbopas/pasjpg10.zip

битность у нее выставляется только на этапе компиляции и может быть 8 или 12, уже одно это сразу ограничивает все возможности jpeg, версия lossless, например, должна поддерживать битность от 2 до 16, уже не говоря о том, что это, мягко говоря, неудобно. Впрочем, я могу ошибаться, давно смотрела


Огромное Кулясищще   (2004-06-29 14:28:00) [10]

Присылай файло на mvps20@hot.ee, разберёмся.


Sunny Way   (2004-06-29 11:12:00) [11]

Выложить некуда :/, разве что по почте.
Infra View не читает тот файл lossless jpeg (16 бит/пикс), что есть у меня. А ты уверен, что Infra View читает jpeg c помощью бииблиотеки от IJG?


Огромное Кулясищще   (2004-06-28 21:10:00) [12]

С помощью этой библиотеки Irfan View читает JPEG, а эта смотрелка читает ВСЁ. Выложи свой чудо-jpeg куда-нить и я его прочитаю на Delphi.


Sunny Way   (2004-06-28 19:21:00) [13]

Эта библиотека читает только lossy jpeg, который при желании можно и стандартным TJPEGImage загрузить, если я правильно понимаю.
Неужели я первый человек, который столкнулся с этой задачей на delphi...


Огромное Кулясище   (2004-06-28 18:50:00) [14]

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

JPEG во всей красе можно грузить используя эту библиотеку:
http://www.ijg.org/


Sunny Way   (2004-06-28 16:17:00) [15]

Замечание несомненно очень ценное
Но хочется все-таки найти компоненты, которые умеют читать
LOSSLESS JPEG. И кроме того, до меня дошли слухи, что библиотека intel для чтения jpeg, которую использует FastJpg, не всегда корректно работает с памятью. Кто-нибудь что-нибудь знает по этому поводу?


ПсихЪ_клон   (2004-06-26 23:45:00) [16]

Ну блин, если они сжимают с потерями то и возвращают обратно, естественно, тоже с потерями!


Sunny Way   (2004-06-25 11:41:00) [17]

Спасибо за ссылку по JPEG!
Но.. Цитирую из спецификации по JPEG (itu-1150):

This Specification specifies two classes of encoding and decoding processes, lossy and lossless processes. Those based on
the discrete cosine transform (DCT) are lossy.

lossy: A descriptive term for encoding and decoding processes which are not lossless.

lossless: A descriptive term for encoding and decoding processes and procedures in which the output of the
decoding procedure(s) is identical to the input to the encoding procedure(s).

Наиболее распространены действительно те методы, которые сжимают с потерями, но есть и те, которые позволяют вернуть исходную картинку обратной декомрессией, если я правильно понимаю.


dmk   (2004-06-24 23:22:00) [18]

А здесь еще больше всего =) :
http://www.yandex.ru/yandsearch?text=jpeg2000&stype=&nl=0


dmk   (2004-06-24 23:21:00) [19]

Сам алгоритм сжатия JPEG подразумевает потери данных.
Если интересно почитать подробнее, то вам сюда:
http://www.compression.ru/download/jpeg2000.html#src


Наверх

Титульная страница Поиск, карта сайта Написать письмо