Масштаб с учётом содержимого: менять пропорции, не сплющивая людей
Из горизонтального кадра сделать вертикальный, из 16:9 — 4:3, не расплющив тех, кто на снимке.
Неприятность всегда одна и та же: кадр 16:9 нужно вписать в место под 4:3. Обрезать края — потерять содержание, растянуть — сделать людей шире, а круги овальными, и то и другое видно сразу.
Как это работает. Алгоритм присваивает каждому пикселю «энергию» (величину градиента: высокую на контурах, низкую на ровных поверхностях), ищет цепочку пикселей сверху вниз с наименьшей суммарной энергией и удаляет её целиком. Повторяя, исчезают небо, стена и трава, тогда как лица, текст и рёбра зданий остаются практически нетронутыми. Этот приём называется seam carving.
Ключевые возможности
Главное сохраняет форму, уступает фон
Удаляется цепочка с наименьшей энергией, поэтому при сужении первым уходит пустой фон. Области с высоким градиентом — лица, текст — алгоритм намеренно обходит.
Умеет и расширять
Если швы не удалять, а вставлять, изображение расширяется: пиксели добавляются там, где картинка ровнее всего, а не растягивается целиком. Пригодится, чтобы сделать из вертикального кадра баннер.
Запускается кнопкой и не следует за ползунком
Алгоритм проходит всё изображение по одному разу на каждый шов — замерено 6 секунд для 1920×1080 при −10%. Поэтому, в отличие от прочих инструментов, он не пересчитывает во время перетаскивания. Сначала задайте ширину и высоту, затем нажмите «Запустить».
Изображения не загружаются
Весь расчёт заканчивается в вашем браузере, и ни один запрос не несёт данных изображения. Откройте панель «Сеть» в инструментах разработчика и убедитесь сами.
Как использовать
- 1 Перетащите изображениеПринимаются JPG, PNG и WebP, а Ctrl+V вставляет из буфера обмена.
- 2 Задайте ширину и высотуОба ползунка в процентах, от 50% до 150%. Менять только один — нормально, второй оставьте на 100%.
- 3 Нажмите «Запустить»Пока идёт расчёт, страница об этом сообщает. Чем больше изображение и чем сильнее изменение, тем дольше ждать — такова цена самого алгоритма.
- 4 Сравните и скачайтеСлева оригинал, справа результат, рядом друг с другом. Не понравилось — поменяйте число и нажмите ещё раз.
Частые вопросы
- Чем это отличается от обычного растяжения или обрезки?
- Растяжение трогает каждый пиксель: люди становятся шире, круги — овалами, и это замечает любой. Обрезка выбрасывает целые полосы содержимого, теряются и композиция, и информация. Масштаб с учётом содержимого не делает ни того, ни другого — он убирает только цепочки пикселей с наименьшей информативностью, поэтому пропорции главного сохраняются, а то, что было по краям, остаётся на месте.
- Почему тут нужно нажимать кнопку, когда все остальные инструменты мгновенные?
- Потому что этот куда дороже. Остальные операции — это один-два прохода по изображению (миллисекунды), а seam carving пересчитывает карту энергии и запускает динамическое программирование для каждого шва. Замеры: 0,8 с на 600×800 при −20% и 6 с на 1920×1080 при −10%. Следование за ползунком замораживало бы страницу на секунды при каждом отпускании — и на экране не было бы никакого признака, что идёт расчёт. Поэтому момент выбираете вы.
- Почему на больших изображениях края чуть мягче?
- Потому что всё, что больше 900 пикселей, сначала уменьшается до длинной стороны в 900 пикселей, и лишь затем считаются швы, а после результат возвращается к запрошенному размеру. Без этого шага фотография с телефона считалась бы десятки секунд. Это настоящий размен скорости на резкость, и он написан здесь, а не оставлен вам на самостоятельное открытие. Изображения меньше 900 пикселей этот шаг пропускают и вырезаются в исходном разрешении.
- На каких изображениях он справляется плохо?
- На плотных — групповой снимок, убористая вёрстка, ровный фасад здания. Seam carving нужны области низкой энергии, которые могут уступить, а у таких изображений их почти нет, поэтому алгоритм вынужден трогать то, что следовало сохранить, и линии искривляются. Для них надёжнее обычная обрезка.
Попробуйте Масштаб с учётом содержимого: менять пропорции, не сплющивая людей прямо сейчас
Работает полностью в браузере · без установки · без регистрации · изображения никогда не загружаются на сервер