Лаборатория изображений
Один пиксель и восемь соседей
Выбери фильтр, затем пиксель на исходнике. Справа — результат, ниже — точный расчёт выбранного канала. Образец нарисован прямо здесь: его можно увеличивать без потери смысла.
Эксперимент
Для выбора фильтра, пикселя и обработки файла нужен JavaScript. Пример ниже доступен и без него.
Среднее девяти соседей сглаживает резкие переходы.
Выбери клетку мышью, перемещайся стрелками или укажи столбец и строку ниже. Нумерация начинается с 1.
Расчёт пикселя
- Сумма произведений
- Делим на
- Округляем и ограничиваем до 0…255
Каждый канал R, G и B вычисляется отдельно.
Пример: размытие ровного участка
Если все девять значений красного канала равны 90, их сумма — 810. Делим на 9 и получаем 90. Ровный участок не меняется.
(9 × 90) ÷ 9 = 90
Своё изображение
Выбери PNG, JPEG или статичный WebP. Файл не отправляется на сервер: браузер уменьшит его до 512 пикселей по длинной стороне и применит выбранный фильтр.
До 5 МиБ, не более 4096 пикселей по каждой стороне и 4 миллионов пикселей всего. Анимация и SVG не поддерживаются. Большое фото сначала уменьши в редакторе.
Только локальная обработка. После закрытия страницы выбранный файл и результат не сохраняются.
Правила расчёта
- У края изображения используем ближайший существующий пиксель: крайние строки и столбцы повторяются.
- Сначала складываем все произведения со знаком и делим на коэффициент фильтра. Затем округляем до ближайшего целого (половины вверх) и ограничиваем диапазоном 0…255.
- Считаем прямо над 8-битными кодированными значениями RGB после декодирования браузером. Это наглядный пример фильтра, а не физически точное смешивание света в линейном пространстве.
- Прозрачность перед обработкой сводится на белый фон. Результат непрозрачный. Цвет и ориентация исходного файла могут зависеть от декодирования браузером.