Мы пытаемся сделать следующее в Mathematica - RMagick удаляет белый фон с изображения и делает его прозрачным .
Но на реальных фотографиях это выглядит ужасно (как будто вокруг изображения появляется ореол).
Вот что мы уже пробовали:
unground0[img_] := With[{mask = ChanVeseBinarize[img, TargetColor->{1.,1.,1.}]},
Rasterize[SetAlphaChannel[img, ImageApply[1-#&, mask]], Background->None]]]
Вот пример того, что это делает.
Исходное изображение:
Изображение с белым фоном, замененным без фона (или, в демонстрационных целях, с розовым фоном):
Есть идеи, как избавиться от этого ореола? Настраивая такие вещи, как LevelPenalty, я могу убрать ореол только за счет потери некоторой части изображения.
РЕДАКТИРОВАТЬ: Итак, я могу сравнить решения для награды, пожалуйста, структурируйте свое решение, как указано выше, а именно автономную функцию с именем unground-something, которая принимает изображение и возвращает изображение с прозрачным фоном.