Как стать автором
Обновить

Комментарии 9

у меня все открылось
Вот у нас как раз подобная проблема стояла, интернет магазин ювелирки, завод даёт крайне корявые фото на простынях, на бархате, на бумажках и т.д (тут много примеров www.ohmygold.ru/catalog/sergi/serga_odinochnaya.html) с почти однородным фоном. Пытался решать, как и Вы, с помощью ImageMagick, в итоге ничего адекватного не получилось. Решили, что вариант нежизнеспособен в случае с реальными фотографими. Попробовал прогнать через ваше решение — аналогично, ничего дельного. Для каких конкретных задач вы используете это добро?
Скорее всего не для случая, когда поставщик идиот, а для случая когда он понимает что делает. Это вроде как новая реализация технологии, которой не одно десятилетие и которая себя отлично зарекомендовала — но для случаев «съёмки на тапок», конечно.
Как и ожидалось, работает так себе.
Та же ситуация и с автоудалением watermark'ов — в целом да, но качество так себе.
Нужно не просто порог fuzz выкрутить, но ещё и как-то наловчиться делать граничные пикселы полупрозрачными.
дело в том что если граничный пиксель был на картинке с синим фоном например, а вы хотите картинку положить на белый, то этот пиксель уже имеет примесь синего, которая никуда не денется от того что он станет прозрачным, т. е. нужно его перекрасить в цвет самого объекта, который хотим оставить на картинке, автоматические такое не сделать наверное
Во-первых, самый грубый способ — это вычесть цвет фона, заменив его значение на альфу.
Во-вторых, интерполировать с окружающими пикселами по ту и другую сторону границы.

В-третьих, размазать маску альфа-канала, создав ореол. Кстати, на сайте imagemagick'а об этом говорится, так что даже ничего велосипедить не потребуется.
После протравливания синего фона и наложения на белый — ну да, будет голубоватый ореол. Но не будет жутких ступенек.
Обновляли что-то? Вчера пробовал — все криво обрезалось и оставалась рамка примерно в 5 пикселей
Сегодня отлично обрабатывает те же картинки
Зарегистрируйтесь на Хабре, чтобы оставить комментарий