Автоматическое кадрирование фотографий

Alibek B.
Дата: 17.09.2018 12:02:31
Делаю для сайта фотогалерею.
В галерее будут размещаться фотографии достаточно большого разрешения. При отображении в браузере будет использоваться отмасштабированная версия, будет несколько масштабированных размеров под типовые разрешения, которые будут формироваться сразу, либо по требованию.
При этом исходные фотографии могут быть разных пропорций — 1:1, 3:2, 4:3, 16:9, да и любыми другими тоже.
В полноэкранном режиме фотографии будут показываться целиком, но слайды или крупная сетка будут кадрировать фотографию под какие-либо конкретные пропорции.
Можно всегда кадрировать по центру, но иногда при этом будет обрезаться важная часть кадра.
Допустим, в интерфейсе загрузки фотографий для каждого кадра можно кликом выбрать точку на важном объекте и при кадрировании она будет находится по возможности в центре кадра.
Что еще следует учесть?
exp98
Дата: 17.09.2018 16:03:12
Кадрируй, чтобы длинная сторона вмещалась, не будет потерь.
Насчёт учесть:вот ткнёт юзер в интимное место, а голова пропадёт. А чё? Дык ведь голова - это ж очевидно, что должна!

При масштабировании сглаживание учитывать, если это не автоматом.
Akina
Дата: 17.09.2018 16:30:53
Alibek B.
Допустим, в интерфейсе загрузки фотографий для каждого кадра можно кликом выбрать точку на важном объекте и при кадрировании она будет находится по возможности в центре кадра.
Не точку, а область (прямоугольная, ессно), которая НЕ должна быть урезана. Ведь важных точек тупо может быть больше одной - что Пушкина отрезать, что Дантеса, всё одно плохо...
Alibek B.
Дата: 17.09.2018 17:03:28
exp98
Кадрируй, чтобы длинная сторона вмещалась, не будет потерь.

Будут полосы по краям, ИМХО это хуже.
Alibek B.
Дата: 17.09.2018 17:05:58
Akina
Не точку, а область (прямоугольная, ессно), которая НЕ должна быть урезана.

Не так уж это много даст, если пропорции прямоугольной области не совпадают с требуемыми пропорциями кадра.
Можно выбирать несколько точек или область, но опорной точкой при кадрировании нужно выбирать одну точку (в геометрическом центре точек или области).
softwarer
Дата: 17.09.2018 17:47:39
Alibek B.
Делаю для сайта фотогалерею.
....
Что еще следует учесть?

Посмотри как это сделано, например, в гугль фото. Там весьма грамотно выводятся серии фотографий разных пропорций так, что и ничего не теряется, и получается хорошая общая картинка.
Akina
Дата: 18.09.2018 08:00:11
Alibek B.
Не так уж это много даст, если пропорции прямоугольной области не совпадают с требуемыми пропорциями кадра.
Вот я не понял, что у тебя в приоритете - не отрезать лишнего? сохранить пропорции? не получить полос по краям? надо бы сперва определиться...

Alibek B.
Будут полосы по краям, ИМХО это хуже.
Подобрать цвет заливки этой полосы... да хоть бы и ambilight эмулируй.
Alibek B.
Дата: 18.09.2018 10:04:22
softwarer
Посмотри как это сделано, например, в гугль фото.

Да, хороший пример, как-то про такой способ заполнения канвы фотографиями разных размеров и пропорций я не подумал.
Буду иметь ввиду, но все же у меня будут задачи, где фотографии должны выводиться прямоугольной сеткой, с одинаковыми размерами кадров.

Akina
сохранить пропорции? не получить полос по краям?

Сохранить пропорции без полос. Лишнее вполне можно обрезать.
Чтобы обрезалось наименее лишнее, можно будет указать якорную точку (которая по умолчанию находится в центре кадра).
Если даже случайно отрежется нужное лишнее, его будет видно на полноэкранном просмотре.

Alibek B.
Подобрать цвет заливки этой полосы... да хоть бы и ambilight эмулируй.

Будет убого.
Тогда уж лучше на фоне выводить увеличенное и размытое изображение (так обычно на iPhone делается при портретной съемке).
Но это сложно и на мой взгляд в web не нужно.
mayton
Дата: 18.09.2018 17:37:56
Я бы вообще не кадрировал а заполнял лентой с одинаковой высотой.

Типа алгоритма оптимального раскроя.