Shanraq.org Shanraq.org
Фотография как сетка чисел
Общество

Информатика: создаём своего цифрового помощника Урок 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)

Пока нет комментариев. Будьте первым.