TutuEdit

Масштаб с учётом содержимого: менять пропорции, не сплющивая людей

Из горизонтального кадра сделать вертикальный, из 16:9 — 4:3, не расплющив тех, кто на снимке.

или создать пустой документ

Неприятность всегда одна и та же: кадр 16:9 нужно вписать в место под 4:3. Обрезать края — потерять содержание, растянуть — сделать людей шире, а круги овальными, и то и другое видно сразу.

Как это работает. Алгоритм присваивает каждому пикселю «энергию» (величину градиента: высокую на контурах, низкую на ровных поверхностях), ищет цепочку пикселей сверху вниз с наименьшей суммарной энергией и удаляет её целиком. Повторяя, исчезают небо, стена и трава, тогда как лица, текст и рёбра зданий остаются практически нетронутыми. Этот приём называется seam carving.

Ключевые возможности

Главное сохраняет форму, уступает фон

Удаляется цепочка с наименьшей энергией, поэтому при сужении первым уходит пустой фон. Области с высоким градиентом — лица, текст — алгоритм намеренно обходит.

Умеет и расширять

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

Запускается кнопкой и не следует за ползунком

Алгоритм проходит всё изображение по одному разу на каждый шов — замерено 6 секунд для 1920×1080 при −10%. Поэтому, в отличие от прочих инструментов, он не пересчитывает во время перетаскивания. Сначала задайте ширину и высоту, затем нажмите «Запустить».

Изображения не загружаются

Весь расчёт заканчивается в вашем браузере, и ни один запрос не несёт данных изображения. Откройте панель «Сеть» в инструментах разработчика и убедитесь сами.

Как использовать

  1. 1
    Перетащите изображение
    Принимаются JPG, PNG и WebP, а Ctrl+V вставляет из буфера обмена.
  2. 2
    Задайте ширину и высоту
    Оба ползунка в процентах, от 50% до 150%. Менять только один — нормально, второй оставьте на 100%.
  3. 3
    Нажмите «Запустить»
    Пока идёт расчёт, страница об этом сообщает. Чем больше изображение и чем сильнее изменение, тем дольше ждать — такова цена самого алгоритма.
  4. 4
    Сравните и скачайте
    Слева оригинал, справа результат, рядом друг с другом. Не понравилось — поменяйте число и нажмите ещё раз.

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

Чем это отличается от обычного растяжения или обрезки?
Растяжение трогает каждый пиксель: люди становятся шире, круги — овалами, и это замечает любой. Обрезка выбрасывает целые полосы содержимого, теряются и композиция, и информация. Масштаб с учётом содержимого не делает ни того, ни другого — он убирает только цепочки пикселей с наименьшей информативностью, поэтому пропорции главного сохраняются, а то, что было по краям, остаётся на месте.
Почему тут нужно нажимать кнопку, когда все остальные инструменты мгновенные?
Потому что этот куда дороже. Остальные операции — это один-два прохода по изображению (миллисекунды), а seam carving пересчитывает карту энергии и запускает динамическое программирование для каждого шва. Замеры: 0,8 с на 600×800 при −20% и 6 с на 1920×1080 при −10%. Следование за ползунком замораживало бы страницу на секунды при каждом отпускании — и на экране не было бы никакого признака, что идёт расчёт. Поэтому момент выбираете вы.
Почему на больших изображениях края чуть мягче?
Потому что всё, что больше 900 пикселей, сначала уменьшается до длинной стороны в 900 пикселей, и лишь затем считаются швы, а после результат возвращается к запрошенному размеру. Без этого шага фотография с телефона считалась бы десятки секунд. Это настоящий размен скорости на резкость, и он написан здесь, а не оставлен вам на самостоятельное открытие. Изображения меньше 900 пикселей этот шаг пропускают и вырезаются в исходном разрешении.
На каких изображениях он справляется плохо?
На плотных — групповой снимок, убористая вёрстка, ровный фасад здания. Seam carving нужны области низкой энергии, которые могут уступить, а у таких изображений их почти нет, поэтому алгоритм вынужден трогать то, что следовало сохранить, и линии искривляются. Для них надёжнее обычная обрезка.

Попробуйте Масштаб с учётом содержимого: менять пропорции, не сплющивая людей прямо сейчас

Работает полностью в браузере · без установки · без регистрации · изображения никогда не загружаются на сервер