Сделать фото черно-белым
Пять формул конвертации, управление контрастом и три классических тонировки — сепия, цианотипия и селений. Все вычисления идут в вашем браузере.
Перетащите файлы сюда
.jpg, .jpeg, .png, .webp · до 50 МБ
Как сделать черно-белым
- 1
Добавьте изображение
JPG, PNG или WebP, до 100 файлов за один раз. Прозрачность в PNG сохраняется полностью и при конвертации не изменяется.
- 2
Выберите формулу конвертации
Luminance BT.709 — естественный пресет по умолчанию. Average, Desaturate и режимы по одному каналу по-разному «читают» одно и то же фото.
- 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. Файл, который не удалось декодировать, не останавливает остальные — вы получите сообщение, сколько штук было пропущено.
Инструмент работает на телефоне?
Да. Конвертация — это один проход по пикселям, так что обычное фото с телефона обрабатывается за долю секунды и на телефоне, и на ноутбуке.