Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> сжатие изображения 
V
    Опции темы
Lin07
Дата 3.10.2008, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 19.7.2008

Репутация: 0
Всего: -1



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

по алгаритму 

1. алгоритм RLE,
2. алгоритм LZW,
3. алгоритм Хаффмана. 

16 ричном  думаю степнь сжатию будет больно маленькая, а как проглядеть файл в двойчном я так и не понял
так же непонятно в каком формате изображение не сжато... (TIFF может?)

Это сообщение отредактировал(а) Lin07 - 3.10.2008, 19:39
PM MAIL   Вверх
Master01
Дата 3.10.2008, 22:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 22.8.2007

Репутация: 2
Всего: 2



вообще-то не уверен что понял вопрос правильно...

но в TIFF действительно изображение может храниться в незжатом виде (а может и в сжатом), т.е. просто последовательность байтов, представляющих RGB компоненты цветов пикселей.
как-то писал функцию которая читает такое изображение, если будет интересно могу выложить.

а сорри, всё что я тут писал это к TGA относится smile

Это сообщение отредактировал(а) Master01 - 3.10.2008, 22:53
PM MAIL   Вверх
Lin07
Дата 3.10.2008, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 19.7.2008

Репутация: 0
Всего: -1



Цитата(Master01 @ 3.10.2008,  22:49)
вообще-то не уверен что понял вопрос правильно...

но в TIFF действительно изображение может храниться в незжатом виде (а может и в сжатом), т.е. просто последовательность байтов, представляющих RGB компоненты цветов пикселей.
как-то писал функцию которая читает такое изображение, если будет интересно могу выложить.

а сорри, всё что я тут писал это к TGA относится smile


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

для меня изоброжение - совершенно непонятная структура файла.. так как почти все они уже в сжатых форматах !

Это сообщение отредактировал(а) Lin07 - 3.10.2008, 23:08
PM MAIL   Вверх
yar
Дата 3.10.2008, 23:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 8.9.2007
Где: Одесса, Украина

Репутация: нет
Всего: 8



Каким-то образом получить Bitmap. Грубо говоря, массив пикселов некоторых цветов.
Возьми например BMP, он чаще всего не сжат.

А Хаффмана, и вообще, энтропийное кодирование можно применять к совершенно любому потоку байтов..
--------------------
Если бы строители возводили здания так, как программисты пишут программы, первый же дятел уничтожил бы мировую цивилизацию.Джеральд Вайнберг
PM MAIL WWW   Вверх
Lin07
Дата 3.10.2008, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 19.7.2008

Репутация: 0
Всего: -1



Цитата(yar @ 3.10.2008,  23:12)
Каким-то образом получить Bitmap. Грубо говоря, массив пикселов некоторых цветов.
Возьми например BMP, он чаще всего не сжат.

А Хаффмана, и вообще, энтропийное кодирование можно применять к совершенно любому потоку байтов..

ну к примеру в паинте я тупо закрашу фон в черный и сохраню!

как мне получить этот набор байтов? 

Это сообщение отредактировал(а) Lin07 - 3.10.2008, 23:24
PM MAIL   Вверх
yar
Дата 3.10.2008, 23:39 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 8.9.2007
Где: Одесса, Украина

Репутация: нет
Всего: 8



It Depends.
Если это виндоуз, то можно воспользоваться GDI+, и классом Bitmap.
--------------------
Если бы строители возводили здания так, как программисты пишут программы, первый же дятел уничтожил бы мировую цивилизацию.Джеральд Вайнберг
PM MAIL WWW   Вверх
Lin07
Дата 3.10.2008, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 19.7.2008

Репутация: 0
Всего: -1



Цитата(yar @ 3.10.2008,  23:39)
It Depends.
Если это виндоуз, то можно воспользоваться GDI+, и классом Bitmap.

спс ша поглядим smile 
PM MAIL   Вверх
Pion
Дата 5.10.2008, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 15
Регистрация: 21.2.2006

Репутация: нет
Всего: 1



может уже не актуально, но вообще, по хорошему, чисто поток в формате RGB сжимать не стоит... если стоит задача пожать. Если нужна хорошая степень сжатия, то сначала надо сделать некоторую предобработку изображения (RGB), типа дискретного косинусного или дискретного вейвлетного преобразования...
PM MAIL   Вверх
bsa
Дата 6.10.2008, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(Pion @ 5.10.2008,  23:03)
вообще, по хорошему, чисто поток в формате RGB сжимать не стоит... если стоит задача пожать. Если нужна хорошая степень сжатия, то сначала надо сделать некоторую предобработку изображения (RGB), типа дискретного косинусного или дискретного вейвлетного преобразования...

Преобразования могут приводить к потерям, например JPEG.
Наиболее простой способ - взять файл, разбить на компоненты (т.е. на 3 массива: красной, зеленой и синей составляющих) и сжать раздельно с помощью сторонней библиотеки, например, bzip2.
PM   Вверх
Lin07
Дата 7.10.2008, 11:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 19.7.2008

Репутация: 0
Всего: -1



Цитата(Pion @ 5.10.2008,  23:03)
может уже не актуально, но вообще, по хорошему, чисто поток в формате RGB сжимать не стоит... если стоит задача пожать. Если нужна хорошая степень сжатия, то сначала надо сделать некоторую предобработку изображения (RGB), типа дискретного косинусного или дискретного вейвлетного преобразования...

мне такую лабу просто придеться сдавать.. и я не думаю ,чт ов ней можно пользоваться винАЙПИ можно будет...
скорее загрузить изображение - представить в 2-ичном коде..пожать этот двоичный код по данным алгоритмам...
PM MAIL   Вверх
bsa
Дата 7.10.2008, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(Lin07 @ 7.10.2008,  11:27)
мне такую лабу просто придеться сдавать.. и я не думаю ,чт ов ней можно пользоваться винАЙПИ можно будет...
скорее загрузить изображение - представить в 2-ичном коде..пожать этот двоичный код по данным алгоритмам...

Ты где про WinAPI прочитал?
PM   Вверх
Lin07
Дата 7.10.2008, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 19.7.2008

Репутация: 0
Всего: -1



Цитата(yar @ 3.10.2008,  23:39)
It Depends.
Если это виндоуз, то можно воспользоваться GDI+, и классом Bitmap.

GDI разве не реализуеться функциями винAPI... ?  smile 
PM MAIL   Вверх
bsa
Дата 7.10.2008, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(Lin07 @ 7.10.2008,  16:34)
Цитата(yar @ 3.10.2008,  23:39)
It Depends.
Если это виндоуз, то можно воспользоваться GDI+, и классом Bitmap.

GDI разве не реализуеться функциями винAPI... ?  smile

Ты сам перечитай свое предыдущее сообщение и объясни, какое отношение цитата имеет к твоему ответу.
Тебе вообще предлагаются алгоритмы действий с уже распакованными данными, которые лежат в памяти в виде массива 3-х или 4-х байтных значений цвета (RGB или RGBu, u - unused).
PM   Вверх
Lin07
Дата 7.10.2008, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 19.7.2008

Репутация: 0
Всего: -1



Цитата(bsa @ 7.10.2008,  16:45)
Цитата(Lin07 @ 7.10.2008,  16:34)
Цитата(yar @ 3.10.2008,  23:39)
It Depends.
Если это виндоуз, то можно воспользоваться GDI+, и классом Bitmap.

GDI разве не реализуеться функциями винAPI... ?  smile

Ты сам перечитай свое предыдущее сообщение и объясни, какое отношение цитата имеет к твоему ответу.
Тебе вообще предлагаются алгоритмы действий с уже распакованными данными, которые лежат в памяти в виде массива 3-х или 4-х байтных значений цвета (RGB или RGBu, u - unused).

та не было не одного алгоритма(во всем треде ни одного куска кода ..ога)  smile  дали ссылку на класс битмап 

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

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

все равно спс

Это сообщение отредактировал(а) Lin07 - 7.10.2008, 17:01
PM MAIL   Вверх
bsa
Дата 7.10.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



Цитата(Lin07 @ 7.10.2008,  16:59)
та не было не одного алгоритма(во всем треде ни одного куска кода ..ога)

алгоритм != код
Код - это реализация алгоритма.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.