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

Вниз

Чтение JPEG   Найти похожие ветки 

 
Sunny Way ©   (2004-06-24 20:37) [0]

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


 
dmk ©   (2004-06-24 23:21) [1]

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


 
dmk ©   (2004-06-24 23:22) [2]

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


 
Sunny Way ©   (2004-06-25 11:41) [3]

Спасибо за ссылку по 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).

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


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

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


 
Sunny Way ©   (2004-06-28 16:17) [5]

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


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

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

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


 
Sunny Way ©   (2004-06-28 19:21) [7]

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


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

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


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

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


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

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


 
Sunny Way ©   (2004-06-29 19:46) [11]

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

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

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

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


 
Sunny Way ©   (2004-06-29 19:56) [12]

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


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

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


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

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

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 (однако эта гадина платная). Ксати, а как такой формат у тебя вообще образовался?


 
Sunny Way ©   (2004-06-30 12:34) [15]

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

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


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

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


 
Sunny Way ©   (2004-07-02 11:49) [17]

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


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

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


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

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

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



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

Форум: "Media";
Текущий архив: 2004.10.03;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.054 c
14-1094898365
Pat
2004-09-11 14:26
2004.10.03
Выбор языка для нового проекта


14-1095249703
yaJohn
2004-09-15 16:01
2004.10.03
Форумы по С++


14-1094724754
DiamondShark
2004-09-09 14:12
2004.10.03
Тест клиента


1-1095425747
glGLU
2004-09-17 16:55
2004.10.03
вызов IE


1-1095316993
Чайник
2004-09-16 10:43
2004.10.03
Перелив цветов





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский