Изображения как массивы
Часть раздела Данные и графики путешествия по Machine Learning на Coddy. Урок 29 из 60.
Черно-белая фотография — это сетка чисел, по одному значению яркости на пиксель. Поэтому двумерный массив — это изображение, а ax.imshow отображает его:
plus = np.array([[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0],
[1, 1, 1, 1, 1],
[0, 0, 1, 0, 0],
[0, 0, 1, 0, 0]])
fig, ax = plt.subplots()
ax.imshow(plus, cmap="gray")
plt.show()cmap="gray" выбирает серую цветовую карту: наименьшее значение — чёрное, наибольшее — белое. Строка 0 отображается сверху, как записан массив.
В фотографиях обычно хранятся значения от 0 (чёрный) до 255 (белый). Позже в этом путешествии модель будет считывать рукописные цифры, хранящиеся именно так.
Задание
СреднеСканер прочитал напечатанную букву, но сохранил её в инвертированном виде: яркие чернила на тёмной бумаге. Вложенный список scan содержит яркость каждого пикселя от 0 до 255.
- Преобразуй
scanв массив и инвертируй его: каждый пиксель становится равен 255 минус его значение. - Нарисуй изображение с помощью цветовой карты gray, добавь заголовок
Letter Eи покажи его.
У тебя должно получиться изображение, похожее на это: отсканированная буква L после исправления:
Твоя программа ничего не выводит. Coddy описывает изображение построчно.
Попробуйте сами
import numpy as np
import matplotlib.pyplot as plt
scan = [[255, 255, 255, 255, 255],
[255, 30, 0, 0, 0],
[255, 0, 0, 0, 0],
[255, 255, 255, 200, 0],
[255, 0, 0, 0, 0],
[255, 0, 0, 0, 15],
[255, 255, 255, 255, 255]]
# Напишите свой код ниже
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Данные и графики
4Преобразование данных
Изменение формы массивовОбъединение массивовСлучайные числаПовторение: симуляция броска кубика2Массивы NumPy
Создание массивовФорма и размерДиапазоны чиселИндексация и срезыПовторение: температурная сетка5Линейные графики и диаграммы рассеяния
Подписи и заголовкиДиаграммы рассеянияНесколько линий и легендыЦвета и маркерыФигуры и осиПовторение: шаги за неделю8Фильтрация и сортировка
Выбор строкФильтрация строкСортировка значенийНовые столбцыПовторение: лучшие товары3Математика массивов
Математика над целыми массивамиСводная статистикаСтатистика по осямТранслированиеБулевы маскиПовторение: результаты экзамена6Графики для данных
Столбчатые диаграммыГистограммыНесколько графиков в одномИзображения как массивыПовторение: отчёт об осадках9Группировка и очистка данных
Подсчёт значенийГруппировка данныхНесколько сводокПропущенные значенияПовторение: результаты опроса12Заключительные задания
Отчёт о продажахПоказания датчиковЦифры с первого взглядаИсследователь-пингвинПотренируйтесь самостоятельно: Онлайн-компилятор Python