Перейти к содержимому
PulsarKit

Сделать фото черно-белым

Пять формул конвертации, управление контрастом и три классических тонировки — сепия, цианотипия и селений. Все вычисления идут в вашем браузере.

Перетащите файлы сюда

.jpg, .jpeg, .png, .webp · до 50 МБ

Как сделать черно-белым

  1. 1

    Добавьте изображение

    JPG, PNG или WebP, до 100 файлов за один раз. Прозрачность в PNG сохраняется полностью и при конвертации не изменяется.

  2. 2

    Выберите формулу конвертации

    Luminance BT.709 — естественный пресет по умолчанию. Average, Desaturate и режимы по одному каналу по-разному «читают» одно и то же фото.

  3. 3

    Нажмите «Сделать черно-белым» и скачайте

    Результат сохраняет исходный формат и размер в пикселях. Несколько файлов возвращаются одним ZIP-архивом.

Почему пять формул, а не одна

«Черно-белое» — это не одна кнопка. Это выбор, какие цвета во что превращаются по шкале серого, и для разных фотографий подходят разные варианты. Luminance BT.709 сильно подчеркивает зеленый и почти не учитывает синий. Это соответствует тому, как глаз воспринимает яркость, и оставляет кожу и листву на привычном месте. BT.601 — более старая «телевизионная» схема весов: она чуть поднимает красный и часто мягче к теплым интерьерным снимкам. Простое усреднение красного, зеленого и синего относится к трем каналам одинаково. От этого синий воздух и небо сильно светлеют — это классический плоский равномерный вид. Desaturate берет середину между самым светлым и самым темным каналом — это те же вычисления, что и канал Lightness в HSL. Получается более мягкое, низкоконтрастное изображение. Режим «по одному каналу» отбрасывает два канала совсем. Это цифровой аналог цветного светофильтра на объективе: красный канал сглаживает кожу и выбивает красные губы, синий почти чернит голубое небо, и облака на нем резко выделяются.

Конвертация идет в линейном свете

Файлы изображений не хранят яркость пропорционально: пиксель со значением 128 — это не вдвое темнее 255. Значения гамма-кодируются, чтобы ограниченный диапазон байта тратился там, где глаз чувствительнее всего. Если усреднять эти закодированные числа напрямую, как делают большинство быстрых фильтров градаций серого, тени становятся грязными, а небо выцветает, потому что все вычисления идут в неверном пространстве. Этот инструмент для каждого канала сначала раскодирует значения в линейный свет через таблицу из 256 записей, потом применяет веса и настраивает контраст уже там, а затем кодирует обратно. Контраст регулируется вокруг линейной середины диапазона, поэтому повышение контраста раскрывает тональный диапазон, а не подрезает света.

Тонировка и почему тени остаются нейтральными

Сепия, цианотипия и селеневая тонировка — это лабораторные процессы с характерными цветами: теплый коричневый, типографский синий и холодный серо-фиолетовый. Наивная тонировка умножает все изображение на выбранный цвет. Тогда черный зацветает, и картинка начинает выглядеть как печать на цветной бумаге. Здесь оттенок масштабируется по значению серого для каждого пикселя: пиксель с яркостью 10 почти не двигается, а пиксель с яркостью 240 берет на себя полный тон. Черные остаются черными, цвет уходит в света, и результат воспринимается как тонированный отпечаток, а не как цветовой налет.

Ничего не загружается на сервер

Файл декодируется, конвертируется и кодируется обратно прямо в этой вкладке браузера с помощью WebAssembly-кодеков. Нет ни сервера, ни очереди, ни сохраненных копий — чтобы все стереть, достаточно закрыть вкладку. Блок EXIF не копируется в результат, поэтому данные камеры и возможные GPS-координаты по дороге удаляются.

Частые вопросы

Фото куда-то загружается?

Нет. Чтение, декодирование, конвертация и кодирование выполняются локально в вашем браузере. Ничего не отправляется по сети на каком-либо этапе. Поэтому инструмент продолжит работать и без соединения, как только страница загрузилась.

Чем формулы отличаются друг от друга?

Они различаются тем, какой вклад каждый цветовой канал вносит в серый. BT.709 использует веса 0.2126 для красного, 0.7152 для зеленого и 0.0722 для синего. BT.601 — 0.299, 0.587 и 0.114. Average берет по одной трети. Desaturate использует середину между самым ярким и самым темным каналом. Режим по одному каналу берет только один канал и игнорирует остальные. На насыщенном фото разница между крайними вариантами легко достигает двадцати уровней серого — одно и то же голубое небо может быть светлым или почти черным в зависимости от выбора.

Почему черно-белый файл меньше оригинала?

Потому что информация о цвете из файла исчезает. JPEG хранит яркость и цвет раздельно, и когда все три канала содержат одинаковые значения, цветовые плоскости сжимаются почти в ноль. При том же качестве уменьшение размера файла на четверть–треть — обычный результат.

Как сделать фото в сепии?

Сначала конвертируйте изображение как обычно, затем выставьте Toning в значение Sepia. Сила 60 дает мягкий теплый отпечаток, на 100 получается ярко выраженная тонировка. Тем же регулятором можно получить Cyanotype для холодного синего и Selenium для холодного серо-фиолетового оттенка селенированной серебряной печати.

Сохранится ли прозрачность PNG?

Да, побайтно. Альфа-канал копируется как есть — пересчитываются только три цветовых канала. Поэтому прозрачный логотип вернется прозрачным, но с серой графикой.

Можно ли потом вернуть цвет?

Не из черно-белого файла: информация о цвете удаляется, а не прячется. Сохраните оригинал.

Сколько файлов можно конвертировать за раз?

До 100 файлов, суммарно 300 МБ. Каждый файл конвертируется отдельно с одинаковыми настройками, а результат возвращается архивом pulsarkit-black-and-white.zip. Файл, который не удалось декодировать, не останавливает остальные — вы получите сообщение, сколько штук было пропущено.

Инструмент работает на телефоне?

Да. Конвертация — это один проход по пикселям, так что обычное фото с телефона обрабатывается за долю секунды и на телефоне, и на ноутбуке.

Похожие инструменты