
Информатика: создаём своего цифрового помощника Урок 14 из 18
Фотография как сетка чисел
Разложим фотографию на пиксели и проверим, что цвет каждого места можно записать числами.
Текст переведён с помощью ИИ.
Где мы на карте
В прошлой части мы научились находить файлы и различать программу и данные. Теперь разберём, как данные могут передать смысл так, чтобы другой человек и другая программа прочитали их одинаково. Сначала назовите собственную догадку, затем проверьте её на числах. После проверки запишите, какую мысль пришлось изменить.
Жизненный образ и точная модель
Встаньте подальше от мозаики: виден рисунок. Подойдите ближе: видны отдельные квадраты. Экранное растровое изображение тоже состоит из отдельных мест — пикселей, но квадрат на схеме служит для удобства рассматривания.
У каждого пикселя есть положение и цвет. В простой модели RGB цвет задают три числа от 0 до 255: красный, зелёный и синий каналы. Сетка 2 × 2 может содержать: сверху красный (255,0,0) и зелёный (0,255,0), снизу синий (0,0,255) и белый (255,255,255). Если хранить именно восемь бит на каждый канал без сжатия, нужны 2 × 2 × 3 = 12 байтов данных о цвете.
Граница образа
Готовый файл обычно больше 12 байтов: ему нужны сведения о формате и размерах, а сжатие может изменить размер. Пиксель экрана и пиксель фотографии не одно и то же физическое зерно; мы говорим о дискретной сетке данных.
Опорный сигнал
строка + столбец → пиксель → (R,G,B); 2 × 2 × 3 = 12 байтов без заголовка
Разобранный пример
Прочитайте левый нижний квадрат 2 × 2: это синий (0,0,255). Если поменять только его на (255,255,255), на схеме появятся два белых места; остальные три координаты сохранятся.
Предскажите до наблюдения
У простой сетки 3 × 2 с тремя восьмибитными каналами сколько сырых байтов цвета? Сначала найдите шесть пикселей, затем умножьте на три: 18. Не называйте это размером PNG.
Не прокручивайте сразу к ответу: запишите прогноз и причину. Сравните не только итог, но и каждый промежуточный шаг. Если результат совпал случайно, повторите опыт с другими числами.
Воспроизведите без подсказки
Нарисуйте сетку 2 × 2 с указанными четырьмя цветами, закройте схему и подпишите координаты. Объясните, что изменится, если переставить верхние два пикселя.
Закройте разобранный пример листом бумаги. Восстановите цепочку по короткому сигналу, проговорите смысл каждого перехода и лишь затем откройте пример для самопроверки. Если застряли, посмотрите только предыдущий шаг.
Найдите и исправьте ошибку
«Если картинка 2 × 2, файл всегда занимает четыре байта». Укажите три канала на пиксель и служебную информацию файла. Исправленный ответ для сырых данных RGB — 12 байтов.
Перенос в новую ситуацию
Для значка помощника в 4 × 4 пикселя подсчитайте сырые RGB-данные: 16 × 3 = 48 байтов. Почему расплывчатая фотография и чёткий значок одинакового размера имеют одинаковый несжатый объём при этой модели?
Изменение проекта
Нарисуйте значок статуса помощника на сетке 2 × 2 и запишите четыре RGB-тройки построчно. Добавьте в FORMAT.md правило: сначала ширина и высота, затем цвета слева направо по строкам.
Задание
Смените один пиксель значка. Запишите координату и старый/новый RGB. Попросите другого человека восстановить оба рисунка по числам и сравнить их.
Сдавайте не фразу «понял», а проверяемое доказательство: таблицу, расчёт, файл или точный ответ с объяснением. Используйте вымышленные данные. Попросите другого человека повторить действие по вашему описанию; если ему приходится угадывать, уточните правило.
Возврат через 1, 7 и 30 дней
Завтра восстановите порядок RGB. Через неделю посчитайте сырые байты сетки 5 × 2. Через месяц объясните, почему размер файла не равен только числу пикселей.
Если вы нашли ошибку или опечатку в тексте статьи, то сообщите нам об этом
Комментарии (0)
Войдите, чтобы оставить комментарий →
Пока нет комментариев. Будьте первым.