Enlarge — увеличение изображения без появления пикселов
Скачать последнюю версию программы (1.32 Beta от 7 апреля 2009 г.) вы можете отсюда: Enlarge.zip (1.8 Мбайта, скачано 11564 раза)
Цель программы — увеличение изображений без появления пикселов. При этом информация не теряется: увеличенное изображение, будучи уменьшено обратно, даст исходное изображение (уменьшать нужно путём усреднения пикселей).
Установка
Опубликована наша статья, в которой подробно описана часть (примерно четверть) алгоритма, используемого в этой программе: А.А. Сухинов, И.Н. Тетеревлёв, В.В. Царевский. «Новый метод вычисления поля ориентаций изображения». Известия ЮФУ, Технические науки. № 8 (121). 2011 г. Стр. 189–198. [Скачать, 671 Кбайт]
- Скачайте программу себе на компьютер: http://iproc.ru/downloads/Enlarge.zip (1.8 Мбайта);
- Разархивируйте .zip-файл в какую-нибудь папку на жёстком диске.
Использование
Программа принимает входной файл в одном из распространённых графических форматов, и выдаёт результирующий файл в формате PNG с именем, оканчивающимся на X.png.
- Перетащите мышкой файл с изображением на
.exe-файл программы, либо укажите полный путь к изображению в качестве первого аргумента командной строки для программыEnlarge.exe. - Программа спросит вас, во сколько раз нужно увеличивать изображение. Например, если вы хотите увеличить изображение в 3 раза, то введите
3и нажмите Enter. Программа увеличивает изображение в целое число раз. - Программа попросит вас ввести коэффициент гладкости линий. Это, грубо говоря, минимальный радиус кривизны, который могут иметь получаемые на результирующей фотографии границы. Измеряется в пикселах исходного изображения (т.е. при увеличении в 3 раза и коэффициента гладкости линий 1.5, на результирующем изображении линии будут стараться не изгибаться сильнее, чем с радиусом 4.5 пиксела результирующего изображения). При малом радиусе слегка увеличивается детализация, но появляется риск получить «гребёнку» пикселов исходного изображения на наклонных границах. Рекомендуемое значение этого параметра: 1.5.
- Программа попросит вас ввести коэффициент чёткости изображения. Этот коэффициент определяет, насколько плавный переход цвета будет на границах результирующего изображения. Если этот коэффициент равен нулю, то толщина всех переходов будет равна одному пикселу исходного изображения; если коэффициент равен единице, то переходы будут резкими. Значение этого параметра больше единицы приведёт к чересчур чётким границам. Рекомендуемое значение этого параметра — 1.0.
- Далее надо будет ввести значение параметра, отвечающего за размер деталей на генерируемом изображении. Этот коэффициент может принимать значения от 0.67 до 1.14 включительно. Чем больше его значение, тем более крупные детали будут оставаться на результирующем изображении. При значении коэффициента меньшем, чем 0.89, есть риск возникновения лишних деталей и «лабиринтообразных» текстур. Рекомендуемое значение этого параметра — 0.89.
- После того, как вы введёте значения всех четырёх параметров, программа обработает фотографию и запишет результат в файл с тем же именем, но оканчивающимся на
X.png. Например, если имя исходного файла былоphoto.jpg, то результирующий файл будет иметь имяphotoX.png.
Программа работает медленно. Поэтому, если вы хотите увеличить пятимегапиксельную фотографию в 3 раза (превратив её тем самым в 45-мегапиксельную), то вам придётся оставить программу работать на час. Финальная версия будет работать раза в 2 быстрее.
Описание
Увеличение изображений обычно производится путём интерполяции. Причём алгоритмы интерполирования (сколь бы сложны они ни были) обычно линейны относительно цветов исходного изображения. Несложно доказать, что линейный алгоритм интерполяции не может восстановить наклонные линии на изображении без появления эффекта «ступенчатости». Многие жалуются, что на увеличенном изображении «не хватает чёткости», и пытаются исправить это с помощью Unsharp Mask. К сожалению, фильтр Unsharp Mask тоже является линейным: делая более резкими переходы цветов он одновременно усиливает и «эффект ступенчатости».
Уменьшение изображения — это отображение «многих к одному». Программа Enlarge генерирует изображение, которое вполне может быть исходным изображением по отношению к уменьшенному. Это означает, что если обратно уменьшить результат работы программы (путём усреднения пикселов), то мы получим исходное малое изображение. Для сравнения, бикубическая интерполяция не может правильно увеличить изображение, т.к. результат, который она выдаёт, не может быть оригинальным изображением для имеющегося изображения малого размера. Чтобы убедиться в этом, увеличьте изображение в целое число раз с помощью бикубической интерполяции, а потом уменьшите обратно: исходное изображение вы не получите.
Примеры, приведённые далее, были получены разными версиями программы. Загруженная с сайта версия не обязательно даст те же результаты. В частности, у меня имеется версия программы, которая одновременно с увеличением изображения удаляет артефакты JPEG. Но она содержит различные ошибки, поэтому я пока не выкладываю её в публичный доступ.
Один из самых хороших результатов приведён на рисунке снизу (нажмите на рисунок, чтобы увеличить). Слева приведено исходное изображение низкого разрешения. Затем разрешение повышено в 3 раза путём бикубической интерполяции (по центру), и программой Enlarge (справа; призна́юсь, я дополнительно применил фильтр Unsharp Mask к правому изображению, чтобы усилить видимость границ):

Рисунок 1. Исходное изображение (слева), увеличенное с помощью бикубической интерполяции (по центру), и увеличенное программой Enlarge (справа).
Нажмите на изображение, чтобы увеличить
Кроме того, вы можете посмотреть другие примеры работы программы:
- «Девушка»: исходное изображение, увеличено в 2 раза.
- «Брокколи»: исходное изображение, увеличено в 2 раза.
- «Аватар»: исходное изображение, увеличено в 2 раза.
Для измерения качества работы алгоритма были взяты версии высокого разрешения представленных выше изображений. Изображения были уменьшены (в 2 и 3 раза), а затем увеличены до оригинального размера с помощью различных алгоритмов интерполяции. Увеличенные результаты были сравнены с исходными изображениями. Чем точнее алгоритм «угадывает» исходное изображение высокого разрешения, тем он лучше. Таким образом, мера разности между известным изображением высокого разрешения и результатом работы алгоритма есть объективный показатель качества этого алгоритма. Для сравнения были взяты два алгоритма интерполяции (Bicubic и Bicubic Sharper) из коммерческой программы Adobe Photoshop, и разработанный алгоритм (программа Enlarge). Остальные алгоритмы (Bilinear, Nearest Neighbour) оказались хуже.
Результаты сравнения приведены в следующей таблице 1 (чем меньше числа, тем лучше). В качестве меры погрешности использовалось среднеквадратичное отклонение интерполированного изображения от известного изображения высокого разрешения.
| «Девушка» | «Брокколи» | «Аватар» | |
|---|---|---|---|
| Bicubic Sharper | 100% | 100% | 100% |
| Bicubic | 95% | 93% | 85% |
| Enlarge | 90% | 85% | 61% |
Таблица 1. Погрешность работы различных алгоритмов интерполяции на различных исходных данных (чем меньше числа — тем лучше). Погрешность работы алгоритма Bicubic Sharper на всех тестах была положена равной 100%
Разработанный алгоритм оказался лучше на всех тестовых изображениях. Нужно отметить, что человек, смотрящий на фотографию, в первую очередь оценивает её качество, глядя на линии и контуры, а не (например) на равномерно голубое небо, идентично передаваемое всеми алгоритмами. Если вычислять среднеквадратичное отклонение только в области контуров, то преимущество алгоритма будет уже не на 5%, а в два и даже в три раза.
История изменений
- 1.2 Alpha (22 марта 2009): первая публичная версия.
- 1.3 Beta (27 марта 2009): изменён алгоритм работы. Работает быстрее, имеет настройки гладкости линий, чёткости, и размера мелких деталей.
- 1.31 Beta (29 марта 2009): слегка улучшена точность распознавания линий.
- 1.32 Beta (7 апреля 2009): однородные области теперь более однородные.
Лицензия
Программа бесплатна для некоммерческого использования. Я не несу ответственности за неудовлетворительную работу программы и ущерб, прямо или косвенно вызванный этой программой.
P.S.
Программа будет улучшаться и ускоряться: в данной версии алгоритм увеличения реализован не в полном объёме.
44 отзыва о программе Enlarge
Автор: zevova. Дата: 27-го апреля 2009 г. Время: 10:14.
Автору респект, прога работает хорошо, но действительно медленно, интересно, финализация скоро будет, норм. версию даже не жалко будет и купить.
Автор: Антон. Дата: 27-го апреля 2009 г. Время: 16:22.
Через месяц-полтора выйдет версия, хорошо увеличивающая сильно сжатые JPEG-файлы, а пото́м уже буду ускорять программу.
Консольная версия (без графического интерфейса) всегда будет бесплатной.
Автор: Cabeleira. Дата: 8-го июля 2009 г. Время: 00:34.
1. интересно б узнать на основании каких научных результатов написана программа, точнее где можно почитать об идее алгоритма
2. для сравнения можете попробовать алгоритмы комерческой программи ACD See, там есть и покачественнее бикубического
Автор: Artem. Дата: 8-го мая 2010 г. Время: 03:23.
Присоединяюсь к вопросу. Интересны в первую очередь теоретические основы алгоритма.
Автор: Vik. Дата: 22-го декабря 2010 г. Время: 22:18.
Присоединяюсь к вопросу. Намекните хотя бы, очень нужно для дипломки
Автор: yann. Дата: 4-го ноября 2009 г. Время: 15:39.
не работает ,разорхивиовала и там файл enarge нажимаещь -появляеться окно и исчезает.
Автор: Dimon. Дата: 11-го декабря 2009 г. Время: 15:08.
Это консольная программа: читайте внимательно документацию.
Автор: Александр. Дата: 10-го февраля 2010 г. Время: 16:29.
Набрёл. Попробовал. Работает сравнимо с Lanczos, честно увеличивает артефакты jpg. Только очень медленно. Хорошее начало! Желаю улучшить, усилить и углубить.Спасибо!
Автор: Антон. Дата: 10-го февраля 2010 г. Время: 16:41.
И вам спасибо.
Да, программа увеличивает артефакты JPEG. И последний год я работал над тем, чтобы этого избежать. На данный момент теоретические проблемы решены, осталась программистская работа…
Автор: К. Дата: 14-го февраля 2010 г. Время: 22:13.
Файл не запускается (ошибка инициализации), какие-то неполадки с манифестом, все ли библиотеки лежат вместе с exe?
WinXP, VS8.
Автор: judepriest. Дата: 21-го февраля 2010 г. Время: 15:23.
Работать она отказалась, как только я ввожу все параметры, она вырубается с ошибкой!
Автор: boneshaker. Дата: 6-го марта 2010 г. Время: 21:50.
Отлично отлично! всё работает на вин 7 без каких либо проблем. полученные PNG после обработки напильником становятся весьма юзабельными для полиграфии. автору респект!
Автор: boneshaker. Дата: 12-го марта 2010 г. Время: 21:25.
Итак, из поганых jpg размером примерно 900 на 600 пикселей получилось два интерьерных постера, один 1.5м на 0.8 а другой 1.1 м на 09…после увеличения заюзал фильтр jpg repair и немного добавил нойза который при распечатке сгладил все неровности, макеты готовил 1:1 со 150 dpi. В итоге из говна получилось настоящее HD ну разумеется после обработки напильником.
Автору ещё раз респект, развивай проект, жду новых версий, твой софт реальное спасение для полиграфистов
Автор: Александр. Дата: 16-го марта 2010 г. Время: 19:01.
ввел все параметры-стала вроде бы обрабатывать-затем комп выдал — ошибка майкрософт и прога перестала работать.может подскажете почему? может оперативки не хватает
Автор: Антон. Дата: 16-го марта 2010 г. Время: 23:14.
Какой конкретно текст ошибки? Какие размеры вашего изображения? Какие параметры вы ввели? Сколько у вас оперативной памяти?
Автор: Lazer. Дата: 28-го марта 2010 г. Время: 18:46.
Программа не запускается, говорит что дллина не найдена!
Автор: Антон. Дата: 28-го марта 2010 г. Время: 18:56.
DLL-ина? Какая? Вроде бы все нужные DLL присутствуют в скачиваемом архиве. Нужно разархивировать все файлы из архива в какую-нибудь папку, а затем уже запускать прогу.
Автор: Lazer. Дата: 4-го апреля 2010 г. Время: 15:16.
Теперь дллину не просит, но просто запускается и исчезает. Пробовал под ДОС-Боксом запускать — не работает.
Автор: Антон. Дата: 4-го апреля 2010 г. Время: 15:27.
Вот. Нужно мышкой перетащить файл для обработки на иконку программы и отпустить.
Автор: АлексЩорс. Дата: 31-го марта 2010 г. Время: 10:00.
Интереснейшая разработка! Хорошо бы работала под Wine. Спасибо автору!
Автор: Максим. Дата: 11-го мая 2010 г. Время: 18:46.
Не работает!!только перетаскиваешь фоту выбивает такую хрень «Ошибка при инициализации приложения (0хс0150002). Для выхода из приложения нажмите кнопку «ок»"-че за хрень и как её решить?
Автор: judepriest. Дата: 5-го июня 2010 г. Время: 12:22.
А если оперативка 512 мб всего лишь и винда стоит 2003 xp professional! Прога не пашет!
Автор: Сергей. Дата: 14-го июня 2010 г. Время: 11:48.
когда можно ждать финальной версии? или хотябы улучшенной консольной?
Автор: Павел. Дата: 26-го сентября 2010 г. Время: 13:31.
Мне понравился результат увеличения картинки. Хотелось бы купить цивильную версию этой программы. Спасибо разработчикам!
Автор: ирина. Дата: 26-го сентября 2010 г. Время: 19:16.
не работает!!!
Автор: Natalet. Дата: 6-го ноября 2010 г. Время: 23:30.
Спасибо за продукт! Всё работает. Потянула репродукцию картины в пять раз- результат вполне замечательный!
Автор: Leonardo31. Дата: 15-го декабря 2010 г. Время: 15:04.
ВОТ это то что я искал!!!!!!!!!
ОГРОМНОЕ СПАСИБО за продукт!!!!!!!!
Программа замечательная !!!!!!!!!!!
Все там работает!!!!!
Качество в разы лучше, чем это делать с помощью фотошоп или других графических редакторов
и еще раз ВЫ МОЛОДЦЫ
Автор: Владимир. Дата: 24-го декабря 2010 г. Время: 14:18.
Автор,
прога супер! Если выйдет ускорить — супер, если нет, то она и так делает все в разы круче чем людбая другая софтина.
Всем у кого не работает — ваши проблемы. Запускал из под всех виндов — полет стабильный. (на 95х обработка дольше — видимо какието библиотечки совсем старые).
Консольной версии более чем достаточно — нафига нужны лишние приседания с гуей? И без нее все как надо!
В обсчем респект и уважуха!
Автор: SEAREX. Дата: 29-го января 2011 г. Время: 22:59.
бля, работает нах !!! рисованные картинки как в akvis, фотки — akvis КУРИТ БАМБУК !!!
автору большое СПС. Может есть смысл добавить в архив .bat файл с 2-х кратным увеличением и настройками по умолчанию ? или отдельный экзешник забомбить ?
Автор: Андрей. Дата: 24-го марта 2011 г. Время: 22:01.
Здравсвуйте!
Скачал, расзиповал. Нажимаю на распакованный Enlarge.exe, но вижу только вспышку Досовского окна, ничего больше. Поиск этого файла привёл только к архивированному. В чём дело?
Автор: Andrei. Дата: 4-го мая 2011 г. Время: 13:09.
Спасибо, попробовал, все замечательно работает. Только не понял как самому установить значения параметров.
Первый рекомендованный (1,5) еще спрашивался. остальные программа ввела сама ( не совсем ясно, какие именно). В результате, по-моему, получилось чуть резче, чем хотелось бы.
И еще интересно, если сделать 2-3 папки, параллельно процессы запустить можно?))
Автор: Алина. Дата: 2-го июня 2011 г. Время: 08:39.
Автор, спасибо ОГРОМНОЕ!!!
Все работает прекрасно и скорость вполне приличная. Полночи в фотошопе ретушировала фотки для проекта, а с прогой сделала все за 15 мин!
Люди, ВНИМАТЕЛЬНО читайте рекомендации по ИСПОЛЬЗОВАНИЮ программы, у меня тоже сначала не получилось.
Автор: Матвей. Дата: 22-го июня 2011 г. Время: 22:23.
программа не запускается,что делать?
Автор: катя. Дата: 26-го июля 2011 г. Время: 15:19.
куда файл конечный сохраняется?
Автор: SoV. Дата: 4-го сентября 2011 г. Время: 10:18.
Как в неё передать параметри при помощи командной строки?
Автор: Антон. Дата: 15-го сентября 2011 г. Время: 14:04.
Никак. Это недоделанная версия программы, она не принимает параметров.
Автор: SoV. Дата: 11-го октября 2011 г. Время: 10:12.
Антон, а когда будет такая возможность?
В смысле, существующего качества отработки и скорости алгоритмов достаточно(от добра, добра не ищут), добавить бы обработчик параметров запуска…
Автор: Владимир. Дата: 14-го ноября 2011 г. Время: 16:07.
не работает ,разорхивиовал и там файл enarge нажимаещь -появляеться окно и исчезает.
Автор: PVDHP. Дата: 23-го ноября 2011 г. Время: 15:23.
Ты уж автор извини, но идея не новая. Прога тупо усредняет и сглаживает линии, а там где их нет работате обычный Bicubic. Я очень долго искал алгоритм и советую написать его. Зайди в Google и пропиши: Example based super resolution. Только ищи не похожий на этот.
Автор: Антон. Дата: 23-го ноября 2011 г. Время: 18:52.
Не совсем понимаю, что именно вы мне советуете.
Кстати, недавно вышла моя статья по вычислению ориентаций изображения. Там описана четверть от того алгоритма, что зашит в программу. Если всё так просто, как вы говорите, можете придумать и реализовать остальные три четверти самостоятельно.
Автор: Sanchez. Дата: 2-го декабря 2011 г. Время: 14:47.
Хорошая программа Спасибо
Автор: PVDHP. Дата: 15-го декабря 2011 г. Время: 16:39.
В прошлый раз я писал об алгоритме увеличения, который обучался бы на нескольких парах изображений: оригинал + уменьшенная копия. Потом программа сопоставляет уменьшенные фрагменты с оригиналом и потом может довльно неплохо увеличивать.
Раньше я скептчески отнсился к фрактальному увеличению, потому что резултаты работы программы Perfect Resize 7 (в прошлом Genuine Fractals) были хуже вашей, но недавно скачал демоверсию алгоритма Smart Edge 2 (разработчик тоже отечественный). Эта программа интенсивно ипользует фрактальное увеличение. Так используются ли в вашей программе фракталы? Хоть я и говорил, что это просто усреднение, я силно преувеличивал — алгоритм гораздо лучше любого S-Spline, спасибо!
Автор: Таня. Дата: 26-го декабря 2011 г. Время: 11:58.
Мне очень понравилась ваша программа. Хоть и долго но она увеличила фотографию лучше известной программа PhotoZoom Pro. Большое спасибо!
Автор: Таня. Дата: 26-го декабря 2011 г. Время: 12:00.
А какие алгоритмы использует ваша программа? И доступны ли исходники программы?