Как можно преобразовать рисунок записанный в формате истинного цвета в формат с палитрой
Перейти к содержимому

Как можно преобразовать рисунок записанный в формате истинного цвета в формат с палитрой

  • автор:

Как можно преобразовать рисунок, записанный в формате истинного цвета, в формат с палитрой?

Пожалуйста, войдите или зарегистрируйтесь для публикации ответа на этот вопрос.

решение вопроса

Связанных вопросов не найдено

  • Все категории
  • экономические 43,679
  • гуманитарные 33,657
  • юридические 17,917
  • школьный раздел 612,441
  • разное 16,911

Популярное на сайте:

Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах.

Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте.

Как быстро и эффективно исправить почерк? Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.

Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.

Урок 9
Кодирование рисунков
§ 12. Кодирование рисунков: растровый метод
§ 13. Кодирование рисунков: другие методы

Очень часто (например, в схемах, диаграммах и чертежах) количество цветов в изображении невелико (не более 256). Поэтому глубину цвета можно брать не 24 бита на пиксель, а меньше, таким образом, уменьшится размер файла. Для этого применяют кодирование с палитрой.

Если использовать кодирование с глубиной цвета 4 бита на пиксель вместо режима истинного цвета, как изменится объём файла?

Цветовая палитра — это таблица, в которой каждому цвету, заданному в виде составляющих в модели RGB, сопоставляется числовой код.

Кодирование с палитрой выполняется следующим образом:

• выбираем количество цветов N (не более 256);
• из палитры истинного цвета (16 777 216 цветов) выбираем любые N цветов, и для каждого из них определяем код в модели RGB;
• каждому выбранному цвету присваиваем номер (код) от 0 до N — 1;
• составляем палитру, записывая сначала RGB-составляющие цвета, имеющего код 0, затем — составляющие цвета с кодом 1 и т. д.;
• для каждого пикселя рисунка храним в памяти не яркости трёх цветовых каналов, а номер цвета в палитре.

Например, пусть при кодировании изображения российского флага (см. рис. 2.21) были выбраны 4 цвета:

• чёрный: RGB(0,0,0); двоичный код 002;
• красный: RGB(255,0,0); двоичный код 012;
• синий: RGB(0,0,255); двоичный код 102;
• белый: RGB(255,255,255); двоичный код 112.

Тогда палитра, которая обычно хранится в заголовке файла, представляет собой четыре трехбайтных блока:

Код каждого пикселя занимает всего два бита. Чтобы примерно оценить объём рисунка с палитрой, включающей N цветов, нужно:

• определить размер палитры, 3 • N байт = 24 N бит;
• определить глубину цвета (количество битов на пиксель), т. е. найти наименьшее натуральное число i, такое что 2 i ≥ N;
• вычислить общее количество пикселей К, перемножив размеры рисунка;
• определить информационный объём рисунка (без учёта палитры): К • i бит.

В таблице 2.5 приведены данные по некоторым вариантам кодирования с палитрой.

Таблица 2.5

Количество цветов Размер палитры (байт) Глубина цвета (бит на пиксель)
2 6 1
4 12 2
16 48 4
256 768 8

Палитры с количеством цветом более 256 на практике не используются.

Используя дополнительные источники, найдите ответы на вопросы.

— В файлах каких форматов можно сохранить изображение с палитрой?
— Определите размер палитры и глубину цвета при кодировании с палитрой 128 цветов.
— Как можно преобразовать рисунок, записанный в формате истинного цвета, в формат с палитрой?

Следующая страница Форматы файлов

Cкачать материалы урока

Преобразование изображения True Color в цвет палитры

У нас есть приложение .NET, которое в настоящее время создает документы в файлы TIFF путем печати на виртуальном принтере. Мы хотели бы избавиться от виртуального принтера, потому что он дорогой, медленный и не поддерживает 64-битные операционные системы. Прямо сейчас я могу использовать другие имеющиеся в моем распоряжении инструменты для создания изображения TIFF, скажем, из документа Word с разрешением 300 dpi. Однако у меня нет достаточного контроля над окончательным форматом TIFF; в частности, он создает полные 24-битные изображения с истинным цветом и, следовательно, очень большие файлы TIFF. Устаревшее решение, несмотря на все его недостатки, создает хорошие файлы TIFF с 8-битной палитрой цветов.

Итак, мой вопрос таков: существует ли простой и эффективный способ преобразования 24-битного изображения с истинным цветом в 8-битное цветовое изображение палитры? Было бы неплохо, если бы результирующая палитра была оптимизирована для конкретного изображения, но я понимаю, что анализ каждого пикселя, вероятно, слишком медленный. Решение, использующее стандартную 8-битную палитру, безусловно, было бы приемлемым. Есть ли в библиотеке изображений .NET метод, который сделает это, или сторонний инструмент с открытым исходным кодом? Я немного возился с ImageMagick.NET, но не очень доволен опытом.

Палитры ушли в прошлое вместе с видеоадаптерами, которые в них нуждались. С тех пор множитель 3 был восполнен в пиках. Бросьте аппаратные средства на проблему. — Hans Passant

К сожалению, это не наше оборудование. Мы производим изображения в формате TIFF для клиентов, чтобы они могли хранить/просматривать их в своих собственных системах. Они ожидают, что они будут того же размера, что и раньше, но во многих случаях они используют довольно старые устаревшие системы. — Eric Pohl

2 ответы

Если вы сохраняете в формате .gif, оно должно использовать изображение с 256 цветовой палитрой. Это может быть простым решением, если ваш клиент может читать файлы .gif. Leadtools может сохранять файлы .tif с палитрой, но это не открытый исходный код.

ответ дан 15 апр.

Узнать подробности FreeImage. есть куча сохранить флаги которые вы можете передать, где вы можете указать уровни сжатия. Существует также метод, называемый КонвертироватьЦветГлубина это звучит многообещающе. Вам придется просмотреть лицензию, чтобы увидеть, подходит ли она вам.

ответ дан 21 апр.

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками .net image tiff or задайте свой вопрос.

16. Найдите ответы на вопросы: Какая картинка используется для выбора цвета в модели HSB?
Место для ввода текста.
Как перевести код цвета из модели RGB в модель CMY?
Место для ввода текста.
Зачем используют цветовую модель Lab?
Место для ввода текста.
17. Найдите ответы на вопросы:
В каких форматах можно сохранить изображение с палитрой?
Место для ввода текста.
Определите размер палитры и глубину цвета при кодировании с палитрой 128 цветов:
глубина цвета битов на пиксель, размер палитры байтов.
Как можно преобразовать рисунок, записанный в формате истинного цвета, в формат с палитрой?
Место для ввода текста.
18. Найдите ответы на вопросы:
Cколько цветов может быть в палитре файлов форматов BMP, GIF, PNG?
От до .
Какие форматы файлов могут хранить анимированные изображения?
Место для ввода текста.
C каких символов начинаются файлы в формате JPEG?
Место для ввода текста.
19. Рисунок размером 10×15 см кодируется с разрешением 300 ppi. Оцените количество пикселей в этом рисунке.
Ширина = пикселей.
Высота = пикселей.
Всего = пикселей.
20. Какова глубина цвета, если в рисунке используется
65536 цветов: битов 256 цветов: битов
212 цветов: битов 27 цветов: битов
16 цветов: битов 4 цвета: битов
21. Сколько байтов будет занимать код рисунка размером 40×50 пикселей в режиме истинного цвета:
Место для ввода текста.
при кодировании с глубиной цвета 8 битов на пиксель:
Место для ввода текста.
при кодировании с глубиной цвета 4 бита на пиксель:
Место для ввода текста.
в черно-белом варианте (два цвета):
Место для ввода текста.
22. Постройте двоичные коды для двухцветных рисунков и запишите их в шестнадцатеричной системе счисления. Обозначайте белые пиксели кодом 1, а чёрные – кодом 0. Выделите фоном группы по 4 бита, которые объединяются в одну шестнадцатеричную цифру.

Какие сложности у вас возникли?
Место для ввода текста.
Как их можно преодолеть?
Место для ввода текста.
23. Постройте черно-белый рисунок шириной 8 пикселей, закодированный шестнадцатеричной последовательностью 2466FF662416. Белые пиксели имеют код 1, чёрные – код 0.

24. Постройте черно-белый рисунок шириной 5 пикселей, закодированный шестнадцатеричной последовательностью 3A53F8816. Белые пиксели имеют код 1, чёрные – код 0.

25. Для жёлтого цвета найдите красную, зеленую и синюю составляющие при 12-битном кодировании (4 бита на канал, 4096 цветов):
R = G = B =
26. Иногда используют 16-битное кодирование цвета (англ. High Color), при котором на красную и синюю составляющую отводится по 5 бит, а на зеленую, к которой человеческий глаз более чувствителен, – 6 бит.
Сколько различных цветов можно закодировать таким образом?
Место для ввода текста.
Определите числовые значения яркостей каждого канала для жёлтого цвета: R = G = B =
27. Сколько места занимает палитра в файле, где используются
64 цвета: = байтов.
128 цветов: = байтов.
N цветов: байтов.
28. Сколько байтов будет занимать код рисунка размером 80×100 пикселей при кодировании с глубиной цвета 12 битов на пиксель?

= байтов.
при кодировании с глубиной цвета N бит на пиксель?

= байтов.
29. Для хранения растрового изображения размером 32×32 пикселя выделено 512 байтов памяти. Каково максимально возможное число цветов в палитре изображения?
Глубина цвета:
Место для ввода текста.
Количество цветов:
Место для ввода текста.
30. Для хранения растрового изображения размером 128128 пикселей выделено 4 килобайта памяти. Каково максимально возможное число цветов в палитре изображения?
Место для ввода текста.
31. При обработке растрового графического файла количество цветов уменьшилось с 256 до 16. Во сколько раз уменьшился размер файла?
32. При обработке растрового графического файла количество цветов уменьшилось с 64 до 4. Во сколько раз уменьшился объём файла?
33. Разрешение экрана монитора – 1024×768 точек, глубина цвета – 16 битов на пиксель. Какой объём памяти (в Мбайтах) требуется для хранения полноэкранного изображения экрана в данном графическом режиме?
Место для ввода текста.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *