-
В этом разделе я хочу рассказать о том, как цифровые изображения представлены в компьютере. Итак,
-
рассмотрим пример - изображение нескольких желтых цветков и то, что мы видим
-
похоже на гармоничную, цельную, округленную картинку. В компьютере она
-
представлена просто кучей маленьких чисел. Как же это работает?
-
Я хочу сфокусироваться на желтом цветке в левом верхнем углу. Видно, что здесь есть
-
небольшая зеленая область с точкой посередине. Если я увеличу эту область
-
в десять раз, она будет выглядеть так. Заметно, что изображение
-
состоит из этих маленьких квадратиков. Эти квадратики называются "пиксели". То есть каждый пиксель -
-
это квадратик. Они весьма малы, я не знаю точного их количества,
-
в дюйме приблизительно 100 пикселей. И каждый пиксель показывает всего один цвет, он как бы
-
занимает квадратик одного цвета. Забавно, что, если посмотреть
-
на него сейчас, он выглядит очень искусственным и резким, но поскольку
-
пиксель невелик по отношению к исходному изображению, он
-
выглядит хорошо. Пиксели настолько малы, что глаз не замечает
-
этих резких краев. Вот так выглядит картинка, когда вы ее приближаете и рассматриваете
-
детали. Если хотите прикинуть сколько пикселей в изображении, вам нужно просто
-
умножить. Если у меня картинка имеет ширину 800 пикселей и высоту 600
-
пикселей, я просто их перемножаю и
-
получаю 480 000 пикселей. Возможно, Вы знакомы с термином "мегапиксель". Обычно он используется
-
для описания компьютеров, фотоаппаратов и тому подобной техники. Мегапиксель - это миллион пикселей.
-
То есть мое изображение 800х600, 480 000 это - грубо говоря - половина мегапикселя.
-
Не очень большое изображение по современным меркам. Цифровая
-
камера, даже на телефоне, обычно выдает изображение
-
порядка 5-10 мегапикселей, может 20. Вот это действительно
-
большие картинки. Ладно, посмотрим как работает эта штука. Я сделал...
-
чтобы получше объяснить, я сделал эту диаграмму. Если у меня есть картинка - то я могу
-
рассматривать ее как сетку из пикселей. Каждый пиксель - это квадрат, который
-
показывает один цвет. Теперь нам нужен способ обращаться
-
к каждому пикселю по отдельности. Это становится возможным, если мы представим
-
набор чисел по оси X вдоль верхней линии. Ноль находится слева и растет при движении
-
вправо. Похожим образом организована ось Y.
-
Ноль в самом верху, в верхнем ряду, а Y числа растут с движением вниз. Так
-
исторически организована нумерация в компьютере. Я приведу
-
несколько простых примеров. Так верхний левый пиксель имеет координату (0,0). Другими словами,
-
x=0, y=0. Пиксель, который находится правее этого,
-
имеет координаты x=1, y=0. Договоримся, что если я называю координату,
-
то сначала это значение оси X, затем значение оси Y. То есть это
-
(1, 0). Вот этот пиксель. Что же, можем продолжить изучать. Это
-
x=4, y=2. Или я просто могу сказать (4,2). Вообще-то мы не будем возиться
-
с различными значениями x-y для обозначения
-
пикселей. Вам просто нужно понять этот способ. То есть даже если
-
у нас 10 миллионов пикселей, каждому из них соответствует пара x-y чисел, которая отличает
-
его от остальных пикселей. Теперь такой вопрос: дупостим, у меня есть все эти пиксели,
-
как же мне задать цвет каждого из них? И чтобы рассказать об этом,
-
мне придется сделать небольшое историческое отступление. В 1600-х Ньютон провел
-
известный эксперимент с призмой (треугольным куском стекла),
-
который я здесь воспроизвел. Солнечный свет падает на левую сторону
-
призмы и разделяется на спектр цветов, который я
-
спроецировал на белый лист бумаги. Этот эксперимент показывает, что солнечный свет это не
-
что-то неделимое и однородное. Наоборот, его можно разделить вот на такие
-
составляющие. Этот эффект подобен тому, который можно увидеть при
-
радуге. Итак, цвета представляют собой непрерывный спектр, хотя мы
-
опознаем некоторые из них, называем по имени.
-
Известная последовательность: справа-налево красный, оранжевый,
-
желтый, зеленый, голубой, синий, фиолетовый.
-
В компьютере эти однородные цвета образуют подобие палитры.
-
Мы будем выбирать оттуда красный, зеленый и синий цвета
-
и использовать их как составляющие для создания любого нужного нам
-
цвета. В конце концов Вы можете считать, что слева
-
поступает свет, а справа мы получаем составляющие. Можете считать,
-
что это обратный процесс. Что, если я возьму составляющие и направлю их в обратном
-
направлении, я могу получить на выходе белый свет. И, хоть физически это не то же самое, но
-
наводящее на мысли о том, как мы можем взять составляющие и смешать
-
их вместе в компьютере. Также тут есть забавное наблюдение о синем цвете.
-
Когда Ньютон называл его, прямо между голубым и фиолетовым оказался синий,
-
верно? Нам понадобилось отдельное слово
-
и мы не могли называть его просто голубым. Это забавно потому что показывает особенности
-
жизни в 17 веке. Ньютон верил в некоторые мистические,
-
ненаучные вещи, а в том время было известно только семь
-
планет и Ньютон считал, что количество цветов и количество планет
-
должно совпадать. И я думаю, что он добавил синий цвет только чтобы
-
получить нужное число. Итак, я собираюсь следовать способу для кодирования
-
любого цвета, который называется RGB. RGB обозначает "красный", "синий", "зеленый".