Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Оптимальный алгоритм объединения изображений 
:(
    Опции темы
vikaz
Дата 21.8.2013, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: нет
Всего: 12



Всем привет!
Ребята, подскажите, кто-нибудь находил алгоритм/библиотеку, которая позволяет объединять несколько разнокалиберных картинок в одно изображение так, чтобы результирующее изображение было наименьшего размера.

Заранее спасибо!


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
ksili
Дата 21.8.2013, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



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


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
vikaz
Дата 21.8.2013, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: нет
Всего: 12



Да, наименьшей площади. С чего вы решили, что не измениться?

Добавлено @ 08:18
Вот Вам для примера две картинки, вы хотите сказать, что площадь у них будет одинаковой!? smile

Изображение #1
user posted image

Изображение #2
user posted image

ЗЫ. Если Вы докажите, что они равны, я соглашусь, что я не знаю, чего сам хочу!

Это сообщение отредактировал(а) vikaz - 21.8.2013, 08:18


--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
gambit
Дата 21.8.2013, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***
Награды: 1



Профиль
Группа: Комодератор
Сообщений: 1359
Регистрация: 25.6.2006
Где: я?

Репутация: 5
Всего: 40



Сортируешь картинки по размеру и начиная с самой большой начинаешь вставлять в первое свободное место. В итоге сначала большие займут площадь, потом мелочь забьет промежутки.

Задача про атласы?
PM MAIL ICQ Skype   Вверх
ksili
Дата 21.8.2013, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: нет
Всего: 17



Вы предлагаете задачу оптимизации, при этом не озвучиваете сам критерий оптимизации. 
Как определить, что алгоритм оптимальный?
У картинки как минимум 2 характеристики размера - высота и ширина. Как определить, что одна картинка меньше другой?

Поясните хотя бы на примере тех картинок, что выше. Какая из них оптимальнее? Почему?

Это сообщение отредактировал(а) ksili - 21.8.2013, 10:26


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
vikaz
Дата 21.8.2013, 11:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 869
Регистрация: 15.2.2006

Репутация: нет
Всего: 12



Цитата

Сортируешь картинки по размеру и начиная с самой большой начинаешь вставлять в первое свободное место. В итоге сначала большие займут площадь, потом мелочь забьет промежутки.


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

Цитата

Задача про атласы? 

ХЗ, мне понадобилось для одного внутреннего проекта. Думал, что, явно, подобную задачу уже решали и не один раз, может кто оформил эту логику как библиотеку или класс.


Цитата

Вы предлагаете задачу оптимизации, при этом не озвучиваете сам критерий оптимизации. 
Как определить, что алгоритм оптимальный?
У картинки как минимум 2 характеристики размера - высота и ширина. Как определить, что одна картинка меньше другой?
Поясните хотя бы на примере тех картинок, что выше. Какая из них оптимальнее? Почему?


Извини камрад, что не полностью описал то что мне нужно. В этом Вы правы, дал мало инфы.
Задача стоит следующая:
Есть папка в которой лежат изображения. 
Нужно создать файл в котором будут лежать все эти картинки, но площадь прямоугольника (результирующего изображения), будет минимальной.
Если посмотреть на те две картинки, которые я привел выше, оптимальнее будет первая. 
Это можно выяснить так:
1. Площадь описанного прямоугольника в первом случае будет меньше чем во втором случае. (просто перемножив высоту на ширину)
2. Визуально более оптимальное решение можно увидеть по пустому месту. В первом случае его нет, а во втором, есть большая пустая площадь в правом нижнем углу.




--------------------
user posted image

Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ 
PM MAIL ICQ Skype   Вверх
jonie
Дата 28.8.2013, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



гуглите "задачу укладки ранца" - это она в чистом виде.


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.1294 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.