Кодирование изображений

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

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

  1. Разбивают изображение на отдельные элементы - пиксели (pixel - picture element).
  2. Каждому пикселю присваивают числовой номер, соответствующий номеру цвета в изображении
  3. Число преобразуют в двоичную систему
  4. Сохраняют набор чисел в памяти ЭВМ

Размер изображения (пиксель) = ширина*высота (пиксель) - вычисляют количество пикселей в изображении.

Примеры кодирования графической информации

Это мы видим Хранится в памяти ЭВМ Двоичная система счисления применяется для нумерации цвета
0   1   0

1   1   1

0   1   0

Изображение состоит из 9 элементов (3х3 пикселей). Каждому пикселю присваиваем числовой номер (код) соответствующий номеру цвета:
0 - желтый
1 - черный

00   01   10

01   01   01

00   01   00

Здесь недостаточно 1 бита для нумерации цвета - используем 2 бита:
00 - желтый
01 - черный
10 - голубой цвет

00   01   10

01   01   01

00   01   11

Продолжаем 2-х битовое кодирование цвета пикселя:
00 - желтый
01 - черный
10 - голубой
11 - красный цвет
000   001   010

001   001   001

100   001   011

Для нумерации цвета нужен 3-й бит:
000 - желтый
001 - черный
010 - голубой
011 - красный
100 - зеленый цвет

Для хранения номера цвета применяли разное количество бит: в 1-м 1 бит, во 2 и 3 - два бита, а в 4-м случае - 3 бита. Говорят, что у этих рисунков разная глубина цвета.
Глубина цвета - наименьшее количество бит, необходимое для кодирования цвета в данном изображении.

 

Требуемый объем информации при сохранении в памяти ЭВМ можно вычислить по формуле:

Объем (бит) = количество пикселей × глубина цвета (бит)

Примеры 1:   3×3×1 бит = 9 бит
Примеры 2:   3×3×2 бит = 18 бит
Примеры 3:   3×3×2 бит = 18 бит
Примеры 4:   3×3×3 бит = 27 бит
 
От глубины цвета зависит количество используемых цветов в изображении
N = 2i (i - глубина цвет в бит, N - наибольшее возможное количество цветов в рисунке)
Глубина цвета, бит
1
2
3
4
...
8
...
16
...
24
...
32
Количество возможных цветов
2
4
8
16
...
256
...
65536
...
16777216
...
4294967296
ПАЛИТРА - таблица цвета, применяемого в данном изображении. Хранится в начале файла.
ПАЛИТРА - это тонкая деревянная дощечка прямоугольной или овальной формы с отверстием. Палитра нужна художникам для работы масляными красками. По краю палитры он выдавливает из тюбиков краски, а в середине палитры смешивает краски, добиваясь нужного цвета. У каждого художника есть свои любимые цвета. Одним нравятся писать картины, не используя много разных красок. А другие предпочитают разнообразие и яркость цветов в своих работах. В первом случае про художника говорят, что у него "сдержанная палитра". А во втором - "богатая, яркая палитра". То есть палитрой ещё называют и краски, которые художник использует в своей работе.

Зависимость качества изображения от количества пикселей (размера мозаичной плитки)
охотничьи байки :) На рисунках 1, 2, 3 хорошо видно, что качество изображения зависит от размера пикселя (квадратиков, на которое нарезают изображение при преобразовании в числовой формат).

Размер пикселя принято считать в PPI (произносится как пи-пи-ай) — сокращение для англ. pixels per inch - пикселей на дюйм. Применяется для указания разрешающей способности при вводе или выводе графики. Измеряется числом пикселей, приходящихся на дюйм поверхности.
1 дюйм = 2,54 см

Фотография слева имеет разрешение 96 ppi. Это значит, что размер пикселя равен 25,4 / 96 мм = 0,265 мм

Иногда ошибочно под разрешением понимают размеры фотографии, экрана монитора или изображения в пикселях. Размеры изображений выражают в виде количества пикселей по горизонтали и вертикали, например: 1920×1080. В данном случае это означает, что ширина изображения составляет 1920, а высота — 1080 точек (такое изображение состоит из 2 073 600 точек, то есть примерно 2 мегапикселя). Количество точек по горизонтали и вертикали может быть разным для разных изображений.

Фото слева имеет размер 200 на 400 пикселей, всего 80 000 точек.
Размер рис.1 - 50×100, рис.2 - 20×40, а рис.3 - 10×20 пикселей
Исходное изображение    

Зависимость качества изображения от PPI
охотничьи байки :) охотничьи байки :) охотничьи байки :)
Рисунок 1 Рисунок 2 Рисунок 3

Зависимость качества изображения от глубины цвета
Рисунок 4 Рисунок 5 Рисунок 6
4-й рисунок 256-цветный, т.е. глубина цвета равна 8 бит (28 = 256)
5-й рисунок 16-цветный, т.е. глубина цвета равна 4 бит (24 = 16)
6-й рисунок 2-цветный (монохромный), т.е. глубина цвета равна 1 бит (21 = 2)

Примеры вычисления объема информации по рисункам на этой странице

1. Основной рисунок
Размер изображения 200×400=80000 пикселей
Глубина цвета 24 бит
Объем требуемой памяти = 80000×24 бит = 1920000 бит = 1920000 / 8 байт = 240000 байт =
= 240000 / 1024 КБ = 234,375 КБ

2. Рисунок 2
Размер изображения 20×40=800 пикселей
Глубина цвета 24 бит
Объем требуемой памяти = 800×24 бит = 19200 бит = 19200 / 8 байт = 2400 байт =
= 2400 / 1024 КБ = 2,34 КБ

3. Рисунок 6
Размер изображения 200×400=80000 пикселей
Глубина цвета 1 бит
Объем требуемой памяти = 80000×1 бит = 80000 бит = 80000 / 8 байт = 10000 байт =
= 10000 / 1024 КБ = 9,77 КБ

Выводы:

Изображение можно представить в виде мозаичного полотна, т.е. набора разноцветных плиток. Плитки (пиксели) обычно бывают квадратные, но могут быть и прямоугольными (вытянутыми по горизонтали, вертикали)

Качество изображения зависит от:

  1. Количества точек в изображении, а оно зависит от размера отдельного пикселя - ppi
  2. Глубины цвета

Полезные советы

  1. Для просмотра на мониторе достаточно не более100 ppi
  2. Для печати на принтере, распознавания текста от 300 до 600 ppi
  3. Следите за размером изображения. Для просмотра на мониторе 1024×768 пикселей не стоит создавать файл размером 3072×2304 пикселей
  4. Помните - если на сканере написано 4800 ppi - это блеф. Реально сканеры для дома дают разрешение 300-600 ppi. А 4800 получают путем клонирования пикселей.

 

mmx©2012