реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Декомпрессировать сжатые изображения на АРМ7, подскажите процедурку...
InsolentS
сообщение Mar 28 2007, 11:52
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897



Здравствуйте!! У меня к АРМу подключен дисплей 176x132 16bpp, надо переодически выводить на него изображения. Но проблема в том, что каждая картинка занимает 61Кб в исходном виде. Мне бы какой-нибудь готовый алгоритм компрессии/декомпрессии (может быть даже JPEG), чтбы на вход процедурки подавать сжатые данные, а на выходе получать в исходном виде, ну и наоборот. Подскажите плизз..smile.gif help.gif


--------------------
Курильщик даташитов со стажем
Go to the top of the page
 
+Quote Post
KRS
сообщение Mar 28 2007, 12:03
Сообщение #2


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Так все зависит от того каие это картинки! Если что то типа фоток то jpeg, а если моного полигонов то что то типа RLE или GIF. Если ограничееное число цветов то плюс к этому палитру сделать.
Да еще лучше всего посмотреть PNG и статьи по этому формату, к нему и библиотеки есть!
Go to the top of the page
 
+Quote Post
v_mirgorodsky
сообщение Mar 28 2007, 12:08
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 342
Регистрация: 21-02-05
Пользователь №: 2 804



Не стоит рождать полновесный JPEG под ARM, если его нет готового в исходниках или в документированной библиотеке - очень муторное и долгое занятие. А в остальном все сравнительно просто - примеров реализации DKT в нете валом, квантование - просто деление на некие константы, битстрим - для упрощения можно взять похожим на JPEG. Если повезет, то за недели три управитесь.


--------------------
WBR,
V. Mirgorodsky
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 28 2007, 12:25
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



А собсно зачем jpeg? Есть достаточное количество незатейливых алгоритмов сжатия без потерь. Да хотя бы и обычная zlib подойдет.


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
anpilog
сообщение Mar 28 2007, 12:27
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 145
Регистрация: 11-12-06
Пользователь №: 23 382



Цитата(KRS @ Mar 28 2007, 11:03) *
Так все зависит от того каие это картинки! Если что то типа фоток то jpeg, а если моного полигонов то что то типа RLE или GIF. Если ограничееное число цветов то плюс к этому палитру сделать.
Да еще лучше всего посмотреть PNG и статьи по этому формату, к нему и библиотеки есть!

А можно линк на библиотеку?


--------------------
---
human traffic - всегда 8)
Go to the top of the page
 
+Quote Post
InsolentS
сообщение Mar 28 2007, 12:46
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897



Цитата(anpilog @ Mar 28 2007, 15:27) *
А можно линк на библиотеку?

да, подскажите ссылку плизз..


--------------------
Курильщик даташитов со стажем
Go to the top of the page
 
+Quote Post
etoja
сообщение Mar 28 2007, 13:08
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



исходники архиваторов
http://pascal.sources.ru/archives/index2.htm
Go to the top of the page
 
+Quote Post
beer_warrior
сообщение Mar 28 2007, 14:26
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 065
Регистрация: 8-10-05
Из: Kiev, UA
Пользователь №: 9 380



http://www.libpng.org/pub/png/pngcode.html


--------------------
Вони шукають те, чого нема,
Щоб довести, що його не існує.
Go to the top of the page
 
+Quote Post
InsolentS
сообщение Mar 29 2007, 00:04
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897



может быть у кого-нибудь всё таки есть готовая процедура для АРМ7? Время разработки очень критично, через две недели сдавать.. help.gif help.gif help.gif поделитесь плиззззззззз


--------------------
Курильщик даташитов со стажем
Go to the top of the page
 
+Quote Post
etoja
сообщение Mar 29 2007, 07:54
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Вот исходные тексты сравнительно простого компрессора-декомпрессора монохромных изображений:
http://www.cl.cam.ac.uk/~mgk25/jbigkit/
http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-1.6.tar.gz
Go to the top of the page
 
+Quote Post
Wano
сообщение Mar 29 2007, 21:33
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 3-06-06
Пользователь №: 17 737



Кинь в вижуалке консольное приложение.
Код в архиве,не раскодирит тока прогрессивный метод,что-то я уже второй заход на этот пример делал и так и не смог его под ARM перекарябать,в основном нехватка памяти оперативной. Если есть внешний метр с процом то как нефиг можно. Уж не знаю как там со скоростью будет.
Прикрепленные файлы
Прикрепленный файл  Jpeg.rar ( 10.18 килобайт ) Кол-во скачиваний: 60
 
Go to the top of the page
 
+Quote Post
AlexBoy
сообщение Mar 30 2007, 20:10
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 19-12-05
Из: Kiev
Пользователь №: 12 394



Попалась вот такая библиотека. Написано что годится для embedded devices, используется только fixed point арифметика.

http://www.voicenet.com/~richgel
Go to the top of the page
 
+Quote Post
InsolentS
сообщение Mar 31 2007, 16:44
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 414
Регистрация: 8-06-06
Пользователь №: 17 897



Спасибо!!


--------------------
Курильщик даташитов со стажем
Go to the top of the page
 
+Quote Post
Wano
сообщение Mar 31 2007, 21:38
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 3-06-06
Пользователь №: 17 737



Люди кто-нить последнюю библиотеку в вижуале запустил?? Еси не секрет конечно. Чёто так я и не допёр как обрубить поддержку асма.
Go to the top of the page
 
+Quote Post
etoja
сообщение Apr 2 2007, 15:49
Сообщение #15


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Никак. Программа использует MMX команды пентиум-процессора.
Go to the top of the page
 
+Quote Post
AlexBoy
сообщение Apr 4 2007, 00:39
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 205
Регистрация: 19-12-05
Из: Kiev
Пользователь №: 12 394



Цитата(etoja @ Apr 2 2007, 15:49) *
Никак. Программа использует MMX команды пентиум-процессора.


поищите в исходниках:
#define SUPPORT_X86ASM
#define SUPPORT_MMX
Go to the top of the page
 
+Quote Post
011119xx
сообщение Aug 29 2011, 04:16
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Кто нибудь пользовался библиотекой libpng или LodePNG? Может у кого есть простой пример использования? Может кто поделиться впечатлениями по требуемым ресурсам памяти и быстродействию?
Go to the top of the page
 
+Quote Post
follow_me
сообщение Aug 29 2011, 10:26
Сообщение #18


Частый гость
**

Группа: Участник
Сообщений: 182
Регистрация: 4-11-10
Пользователь №: 60 646



Вставлю свои пять копеек - Декодирование jpeg для чайников

хотя libpng наше всё

правда тут вопрос будет в том что вы выводите а экран , png , больше подходит для текстов , и не растровой графики так сказать , для полноцветного (с большим количеством переходов и оттенков) jpeg лучше будет


ну и пачкой декодирование GIF

Сообщение отредактировал follow_me - Aug 29 2011, 10:37
Go to the top of the page
 
+Quote Post
011119xx
сообщение Aug 31 2011, 03:51
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



follow_me
Огромнейшее спасибо за ссылки... А вообще хочется выводить на экран bmp, png, gif и jpg. Это некий просмотрщик картинок - одна из функций будущего устройства.

Сообщение отредактировал IgorKossak - Aug 31 2011, 07:25
Причина редактирования: Бездумное цитирование
Go to the top of the page
 
+Quote Post
011119xx
сообщение Aug 31 2011, 10:26
Сообщение #20


Местный
***

Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544



Начал читать статью про декодирование GIF и остановился на этом месте:
Краткое описание алгоритма:
Читаем очередной код.
В словаре, под номером равным коду, берем список индексов. Это готовые индексы цветов.
В словарь добавляется список индексов, взятый из словаря на предыдущем этапе с добавленным первым индексом взятый из словаря на текущем этапе.

(100) 4. В словаре под номером 4 расположен код clear. Значит инициализируем словарь, текущий размер кода устанавливаем равным 3 (в нашем примере конечно же). В файлах побольше этот код встречаться часто.
(000) 0. В словаре под номером 0 находится {0}, это уже готовый индекс цвета (левого верхнего угла). В словарь ничего не добавляем.
(010) 2. В словаре под номером 2 находится {2}. Добавляем {0}+{2} = {0,2} с номером 6 (далее я буду использовать запись покороче: 2:{2}, +6:{0,2})
(001) 1. В словаре под номером 1 находится {1}. Добавляем {2}+{1} = {2,1} с номером 7 (+7:{2,1})

Словарь достиг предела для 3-х битных кодов. Текущий размер кода увеличиваем на 1.
(0110) 6: {0,2} +8: {1,0}
(1000) 8: {1,0} +9: {0,2,1}
(0001) 1: {1} +10:{1,0,1}
(1010) 10:{1,0,1} +11:{1,1}
(0010) 2: {2} +12:{1,0,1,2}
(0000) 0: {0} +13:{2,0}
(0001) 1: {1} +14:{0,1}
(1101) 13:{2,0} +15:{1,2}


Словарь достиг предела для 4-х битных кодов. Текущий размер кода увеличиваем на 1 (длина кода увеличивается максимум до 12! При достижении словарем размера 4096 длина кода остается равной 12, и добавлять в словарь ничего не нужно. Обычно следом идет код clear)
(00101) 5:{end} конец

Никак не могу понять то, что выделено. Откуда это берется и как, может кто сказать?

Сообщение отредактировал 011119xx - Aug 31 2011, 10:28
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 18:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01513 секунд с 7
ELECTRONIX ©2004-2016