Комментарии 9
moccachin у вас habr-эффект или это мой провайдер не хочет открывать картинки на 88 порту?
> GET http://178.62.80.227:88/acd36c9dc316a2c01784b7f4d1a86506.jpg
> GET http://178.62.80.227:88/acd36c9dc316a2c01784b7f4d1a86506.jpg
Вот у нас как раз подобная проблема стояла, интернет магазин ювелирки, завод даёт крайне корявые фото на простынях, на бархате, на бумажках и т.д (тут много примеров www.ohmygold.ru/catalog/sergi/serga_odinochnaya.html) с почти однородным фоном. Пытался решать, как и Вы, с помощью ImageMagick, в итоге ничего адекватного не получилось. Решили, что вариант нежизнеспособен в случае с реальными фотографими. Попробовал прогнать через ваше решение — аналогично, ничего дельного. Для каких конкретных задач вы используете это добро?
Скорее всего не для случая, когда поставщик идиот, а для случая когда он понимает что делает. Это вроде как новая реализация технологии, которой не одно десятилетие и которая себя отлично зарекомендовала — но для случаев «съёмки на тапок», конечно.
Как и ожидалось, работает так себе.
Та же ситуация и с автоудалением watermark'ов — в целом да, но качество так себе.
Та же ситуация и с автоудалением watermark'ов — в целом да, но качество так себе.
Нужно не просто порог fuzz выкрутить, но ещё и как-то наловчиться делать граничные пикселы полупрозрачными.
дело в том что если граничный пиксель был на картинке с синим фоном например, а вы хотите картинку положить на белый, то этот пиксель уже имеет примесь синего, которая никуда не денется от того что он станет прозрачным, т. е. нужно его перекрасить в цвет самого объекта, который хотим оставить на картинке, автоматические такое не сделать наверное
Во-первых, самый грубый способ — это вычесть цвет фона, заменив его значение на альфу.
Во-вторых, интерполировать с окружающими пикселами по ту и другую сторону границы.
В-третьих, размазать маску альфа-канала, создав ореол. Кстати, на сайте imagemagick'а об этом говорится, так что даже ничего велосипедить не потребуется.
После протравливания синего фона и наложения на белый — ну да, будет голубоватый ореол. Но не будет жутких ступенек.
Во-вторых, интерполировать с окружающими пикселами по ту и другую сторону границы.
В-третьих, размазать маску альфа-канала, создав ореол. Кстати, на сайте imagemagick'а об этом говорится, так что даже ничего велосипедить не потребуется.
После протравливания синего фона и наложения на белый — ну да, будет голубоватый ореол. Но не будет жутких ступенек.
Обновляли что-то? Вчера пробовал — все криво обрезалось и оставалась рамка примерно в 5 пикселей
Сегодня отлично обрабатывает те же картинки
Сегодня отлично обрабатывает те же картинки
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как заменить однородный фон прозрачным с помощью Imagemagick