группируйте большой набор изображений


Существует ли какой-либо алгоритм для упорядочивания множества небольших изображений с разными размерами и группировки их в одно большее? У кого-нибудь есть идеи, с чего мне начать расследование?


РЕДАКТИРОВАТЬ: В принципе, я хочу сделать что-то вроде этого http://www.google.ro/images/srpr/nav_logo27.png в PHP. На самом деле я не ожидал такой сложности. Я собираюсь использовать изображение в качестве CSS-спрайта, если это имеет какое-то значение.

Author: Quamis, 2010-11-17

3 answers

Использование алгоритма оптимизации может оказаться излишним для вашей проблемы. Кодирование алгоритма оптимизации потребует большой предварительной подготовки. Даже внедрение готовой библиотеки может стать большой проблемой для решения.

Вы можете самостоятельно разработать эвристику:
Используйте ширину и высоту большого изображения в качестве входных данных.
Думайте об этом так, как будто вы заполняете каждую строку и переходите к следующей строке, как только строка заполнена. И начните вставлять изображения одно за другим.

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

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

 1
Author: Haluk, 2010-11-27 15:07:10

Как правило, это сложная вычислительная задача, но существуют приближенные решения.

Изменить: Связанный вопрос Упаковка данных прямоугольного изображения в квадратную текстуру

 6
Author: Ross, 2017-05-23 12:11:31

Я думаю, что это называется mosaic, так что вы можете начать с поиска этого

 0
Author: davka, 2010-11-17 12:10:06