1 00:00:00,000 --> 00:00:04,950 В этом разделе я хочу рассказать о том, как цифровые изображения представлены в компьютере. Итак, 2 00:00:04,950 --> 00:00:10,218 рассмотрим пример - изображение нескольких желтых цветков и то, что мы видим 3 00:00:10,218 --> 00:00:15,359 похоже на гармоничную, цельную, округленную картинку. В компьютере она 4 00:00:15,359 --> 00:00:20,187 представлена просто кучей маленьких чисел. Как же это работает? 5 00:00:20,187 --> 00:00:24,868 Я хочу сфокусироваться на желтом цветке в левом верхнем углу. Видно, что здесь есть 6 00:00:24,868 --> 00:00:29,914 небольшая зеленая область с точкой посередине. Если я увеличу эту область 7 00:00:29,914 --> 00:00:34,960 в десять раз, она будет выглядеть так. Заметно, что изображение 8 00:00:34,960 --> 00:00:39,910 состоит из этих маленьких квадратиков. Эти квадратики называются "пиксели". То есть каждый пиксель - 9 00:00:39,910 --> 00:00:45,325 это квадратик. Они весьма малы, я не знаю точного их количества, 10 00:00:45,325 --> 00:00:50,717 в дюйме приблизительно 100 пикселей. И каждый пиксель показывает всего один цвет, он как бы 11 00:00:50,717 --> 00:00:55,815 занимает квадратик одного цвета. Забавно, что, если посмотреть 12 00:00:55,815 --> 00:01:00,660 на него сейчас, он выглядит очень искусственным и резким, но поскольку 13 00:01:00,660 --> 00:01:04,985 пиксель невелик по отношению к исходному изображению, он 14 00:01:04,985 --> 00:01:09,656 выглядит хорошо. Пиксели настолько малы, что глаз не замечает 15 00:01:09,656 --> 00:01:14,154 этих резких краев. Вот так выглядит картинка, когда вы ее приближаете и рассматриваете 16 00:01:14,154 --> 00:01:19,095 детали. Если хотите прикинуть сколько пикселей в изображении, вам нужно просто 17 00:01:19,095 --> 00:01:23,863 умножить. Если у меня картинка имеет ширину 800 пикселей и высоту 600 18 00:01:23,863 --> 00:01:28,401 пикселей, я просто их перемножаю и 19 00:01:28,401 --> 00:01:33,191 получаю 480 000 пикселей. Возможно, Вы знакомы с термином "мегапиксель". Обычно он используется 20 00:01:33,191 --> 00:01:37,320 для описания компьютеров, фотоаппаратов и тому подобной техники. Мегапиксель - это миллион пикселей. 21 00:01:37,320 --> 00:01:41,450 То есть мое изображение 800х600, 480 000 это - грубо говоря - половина мегапикселя. 22 00:01:41,450 --> 00:01:45,591 Не очень большое изображение по современным меркам. Цифровая 23 00:01:45,591 --> 00:01:49,897 камера, даже на телефоне, обычно выдает изображение 24 00:01:49,897 --> 00:01:54,039 порядка 5-10 мегапикселей, может 20. Вот это действительно 25 00:01:54,039 --> 00:01:58,970 большие картинки. Ладно, посмотрим как работает эта штука. Я сделал... 26 00:01:58,970 --> 00:02:04,222 чтобы получше объяснить, я сделал эту диаграмму. Если у меня есть картинка - то я могу 27 00:02:04,222 --> 00:02:09,359 рассматривать ее как сетку из пикселей. Каждый пиксель - это квадрат, который 28 00:02:09,359 --> 00:02:13,970 показывает один цвет. Теперь нам нужен способ обращаться 29 00:02:13,970 --> 00:02:18,932 к каждому пикселю по отдельности. Это становится возможным, если мы представим 30 00:02:18,932 --> 00:02:23,717 набор чисел по оси X вдоль верхней линии. Ноль находится слева и растет при движении 31 00:02:23,717 --> 00:02:28,325 вправо. Похожим образом организована ось Y. 32 00:02:28,325 --> 00:02:33,051 Ноль в самом верху, в верхнем ряду, а Y числа растут с движением вниз. Так 33 00:02:33,051 --> 00:02:38,390 исторически организована нумерация в компьютере. Я приведу 34 00:02:38,390 --> 00:02:43,922 несколько простых примеров. Так верхний левый пиксель имеет координату (0,0). Другими словами, 35 00:02:43,922 --> 00:02:48,412 x=0, y=0. Пиксель, который находится правее этого, 36 00:02:48,412 --> 00:02:52,637 имеет координаты x=1, y=0. Договоримся, что если я называю координату, 37 00:02:52,637 --> 00:02:57,074 то сначала это значение оси X, затем значение оси Y. То есть это 38 00:02:57,074 --> 00:03:01,787 (1, 0). Вот этот пиксель. Что же, можем продолжить изучать. Это 39 00:03:01,787 --> 00:03:06,206 x=4, y=2. Или я просто могу сказать (4,2). Вообще-то мы не будем возиться 40 00:03:06,206 --> 00:03:10,867 с различными значениями x-y для обозначения 41 00:03:10,867 --> 00:03:15,710 пикселей. Вам просто нужно понять этот способ. То есть даже если 42 00:03:15,710 --> 00:03:20,431 у нас 10 миллионов пикселей, каждому из них соответствует пара x-y чисел, которая отличает 43 00:03:20,431 --> 00:03:25,316 его от остальных пикселей. Теперь такой вопрос: дупостим, у меня есть все эти пиксели, 44 00:03:25,316 --> 00:03:30,470 как же мне задать цвет каждого из них? И чтобы рассказать об этом, 45 00:03:30,470 --> 00:03:35,392 мне придется сделать небольшое историческое отступление. В 1600-х Ньютон провел 46 00:03:35,392 --> 00:03:40,470 известный эксперимент с призмой (треугольным куском стекла), 47 00:03:40,470 --> 00:03:45,547 который я здесь воспроизвел. Солнечный свет падает на левую сторону 48 00:03:45,547 --> 00:03:49,354 призмы и разделяется на спектр цветов, который я 49 00:03:49,492 --> 00:03:54,262 спроецировал на белый лист бумаги. Этот эксперимент показывает, что солнечный свет это не 50 00:03:54,262 --> 00:03:58,703 что-то неделимое и однородное. Наоборот, его можно разделить вот на такие 51 00:03:58,703 --> 00:04:03,329 составляющие. Этот эффект подобен тому, который можно увидеть при 52 00:04:03,329 --> 00:04:08,264 радуге. Итак, цвета представляют собой непрерывный спектр, хотя мы 53 00:04:08,264 --> 00:04:13,075 опознаем некоторые из них, называем по имени. 54 00:04:13,075 --> 00:04:17,702 Известная последовательность: справа-налево красный, оранжевый, 55 00:04:17,702 --> 00:04:22,390 желтый, зеленый, голубой, синий, фиолетовый. 56 00:04:23,505 --> 00:04:31,051 В компьютере эти однородные цвета образуют подобие палитры. 57 00:04:31,051 --> 00:04:37,706 Мы будем выбирать оттуда красный, зеленый и синий цвета 58 00:04:37,706 --> 00:04:43,578 и использовать их как составляющие для создания любого нужного нам 59 00:04:43,578 --> 00:04:48,068 цвета. В конце концов Вы можете считать, что слева 60 00:04:48,068 --> 00:04:52,003 поступает свет, а справа мы получаем составляющие. Можете считать, 61 00:04:52,003 --> 00:04:56,036 что это обратный процесс. Что, если я возьму составляющие и направлю их в обратном 62 00:04:56,036 --> 00:05:00,020 направлении, я могу получить на выходе белый свет. И, хоть физически это не то же самое, но 63 00:05:00,020 --> 00:05:04,102 наводящее на мысли о том, как мы можем взять составляющие и смешать 64 00:05:04,102 --> 00:05:08,784 их вместе в компьютере. Также тут есть забавное наблюдение о синем цвете. 65 00:05:08,784 --> 00:05:13,414 Когда Ньютон называл его, прямо между голубым и фиолетовым оказался синий, 66 00:05:13,414 --> 00:05:17,694 верно? Нам понадобилось отдельное слово 67 00:05:17,694 --> 00:05:22,062 и мы не могли называть его просто голубым. Это забавно потому что показывает особенности 68 00:05:22,062 --> 00:05:26,742 жизни в 17 веке. Ньютон верил в некоторые мистические, 69 00:05:26,898 --> 00:05:31,111 ненаучные вещи, а в том время было известно только семь 70 00:05:31,111 --> 00:05:35,323 планет и Ньютон считал, что количество цветов и количество планет 71 00:05:35,323 --> 00:05:39,587 должно совпадать. И я думаю, что он добавил синий цвет только чтобы 72 00:05:39,587 --> 00:05:44,871 получить нужное число. Итак, я собираюсь следовать способу для кодирования 73 00:05:44,871 --> 00:05:50,957 любого цвета, который называется RGB. RGB обозначает "красный", "синий", "зеленый".