Добро пожаловать, гость
:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте :: :: форум ::

Форум работает в режиме архива, только для чтения и поиска.
Архив 2004 Архив 2007 Архив 2013

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.06.2010, 11:02
гость

 
Сообщений: n/a

сжатие изображений методом Хаффмана
Вобщем, получил я следующее задание: входными данными есть изображения (bmp, jpeg) с глубиной цвета от 8 до 24 бит (чёрно-белые). Эти изображения должны сжиматься методом Хаффмана с выходным _количеством_ цветов от 2 до 16, при этом результат должен записываться в bmp c количеством цветов 16. Для работы с изображением использую Bitmap (TImage Builder-овский).
1. Как мне узнать из Bitmap глубину цвета. Как вообще связаны между собой форматы pf24bit, pf8bit (и т.д.) и количество цветов, которые использубтся в изображении. Какой формат у изображения, с количеством цветов, например, 7?
2. Как применять метод Хаффмана, если учесть, что на входе мы получаем изображение с обределённым количеством цветов, а на выходе мы получаем это же изображение, но с меньшим количеством цветов. Как, собственно, мы получим сжатие, если, как я понимаю, и на входе, и на выходе, будет изображение с одинаковым количеством пикселей. Как осуществить переход от кодовой последовательности к сжатому bitmap?
Где я получу результат сжатия - уже в файле на диске?
3. Как в bitmap представляется изображение с количеством цветов, например, 5, 7, 9.
4. Как осуществить переход от выходящего количества цветов (после сжатия) до 16, которые нужно использовать для записи в bmp-файл?
Люди добрые, помогите советом ...
  #2  
Старый 13.06.2010, 20:15
гость

 
Сообщений: n/a

Сообщение от гость Посмотреть сообщение
TImage Builder-овский
C++ Builder? Этому программному (полу)продукту место на мусорке. Иди ставь нормальный компилятор.

Цитата:
Как вообще связаны между собой форматы pf24bit, pf8bit (и т.д.) и количество цветов, которые использубтся в изображении
24bit - значит 2^24 цветов
8 бит - 2^8=256 цветов

Цитата:
Какой формат у изображения, с количеством цветов, например, 7?
нет таких форматов. Самое близкое - использовать 4-битное BMP, в котором из его 16 цветов задействовать только первые 7.

Цитата:
2. Как применять метод Хаффмана, если учесть, что на входе мы получаем изображение с обределённым количеством цветов, а на выходе мы получаем это же изображение, но с меньшим количеством цветов.
Да никак! Хаффман для этого не предназначен, он сжимает без потерь.

У тебя некорректно поставленная задача, беги скорей к преподу.

Цитата:
Как осуществить переход от кодовой последовательности к сжатому bitmap?
В формате BMP не предусмотрено сжатие каким-либо методом кроме примитивного RLE. Тебе придется изобретать свой собственный формат.
 


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Код Хаффмана гость Реализация, исходники, языки 13 09.10.2012 07:43
JPEG или VELVET сжатие изображений Arty Реализация, исходники, языки 3 20.04.2010 13:01
Подскажите как реализовать сжатие .bmp методом RLE на Visual Basic гость Обработка изображений, звук, графика 0 13.05.2009 13:16
Код Хаффмана гость Математические алгоритмы 0 12.09.2007 14:59
Сжатие методом Шеннона-Фано гость Реализация, исходники, языки 5 09.07.2007 14:57