Артефакты, похожие на контуры, в трассировке растрового изображения Inkscape?

Это похоже на то, как избавиться от этих контурных артефактов в трассировке Inkscape SVG? но я подумал, что будет полезно спросить еще раз, так как кажется, что, по крайней мере, в предварительном просмотре нет проблемы.

Исходный файл представляет собой растровое изображение улыбающегося лица с эмодзи-ореолом размером 160x160, версия Apple.

Улыбающееся лицо с ореолом

Я импортировал это в Inkscape 0.92 (в Ubuntu 18.04) и использовал Path --> Trace Bitmapв импортированном объекте растрового изображения. Предварительный просмотр и окончательный результат таковы:

Скриншот Inkscape

Обратите внимание, что предварительный просмотр выглядит совершенно нормально, но в конечном результате есть эти контурные артефакты, нарушающие плавные и непрерывные цветовые градиенты. Дело в том, что предварительный просмотр выглядит нормально и имеет плавные и непрерывные цветовые градиенты, в отличие от финальной трассировки. И да, предварительный просмотр на самом деле финальной трассировки, я проверил это, отрегулировав другие настройки, и да, предварительный просмотр меняется так, как должен.

Это проблема Inkscape? Или, возможно, быстрое исправление в inkscape, чтобы окончательная трассировка выглядела как предварительный просмотр? Я не уверен, но кажется, что я упускаю что-то очевидное.

Спасибо за помощь!

Окончательный результат трассировки: ссылка (сначала загрузите и откройте в браузере, предварительный просмотр диска не точен)

Не потому ли, что границы объектов рисуются? То есть, если экспортировать в SVG и просмотреть в браузере, эти строки тоже появляются? (Если да, то они должны быть определены в SVG.)
О, я должен добавить финальную трассировку svg... извините! Я отредактирую его по вопросу.
Кажется, что просмотр окончательного SVG в браузере (Chromium или Firefox) или использование средства просмотра изображений Ubuntu по умолчанию не имеет значения ... контуры остаются точно такими же.

Ответы (2)

К сожалению, трассировка недостаточно умна, чтобы определять параметры градиента. 256 дискретных цветовых палитр не являются подходящей заменой. Ваша попытка не может быть успешной, если вам нужен четкий свободно масштабируемый вектор. Результат трассировки может быть приемлемым только в небольшом размере, где сглаживание частично размывает границы между цветами.

Чтобы получить четкий свободно масштабируемый вектор, вы должны перерисовать его. Это непросто, потому что изображение сложное. Сложная часть — это раскраска, основные контуры просты. Если вы можете принять некоторую неточность, вы можете довольно легко собрать что-то похожее. Пример:

введите описание изображения здесь

Основные контуры были нарисованы на исходном изображении в формате PNG (= слева). Тени во рту, голубое кольцо и глаза имеют размытые формы и изгибы. В основе больших поверхностей лежат градиенты.

Есть еще один ответ, в котором говорится: «Проверьте, можете ли вы на законных основаниях сделать свою собственную версию и использовать ее». К этому предложению следует отнестись серьезно. Владелец авторских прав может подать иск и получить значительную сумму денег, если сочтет это возможным.

Некоторые похожие векторные изображения доступны бесплатно. Возможно, вы можете использовать их как есть или изменить. Проверить на пр. это: https://www.123freevectors.com/smiling-face-with-halo-emoji-vector-download-85420/ . К сожалению, это EPS, и Inkscape его не принимает. Преобразование EPS в SVG является сложным. Я не нашел надежного способа сделать это с помощью бесплатного программного обеспечения.

ДОБАВИТЬ: некоторые тесты показали, что трассировка в градациях серого намного более плавная, потому что дискретные шаги представляют градиенты в порядке. Это дает одну возможность: проследить отдельно компоненты R, G и B изображения и объединить результаты. К сожалению, в Inkscape нет режима наложения =ADD.

Я проверил это в другом программном обеспечении. Это сработало, но результат не был четким, он был таким же размытым, как вы получите, когда увеличите исходное растровое изображение с низким разрешением.

Почему аппроксимация градиента показывает более темные очертания? Мне кажется это не связано.
@ usr2564301 Inkscape отображает швы между цветными областями частично прозрачными. Это сглаживание. Ошибки округления могут создать некоторые реальные пробелы. В обоих случаях можно увидеть основные цвета. Перекрытие шириной в один пиксель исправляет это. Одним из способов создания перекрытия является добавление обводки того же цвета, что и заливка. Или со смещенными путями. Я не знаю ни одного полностью автоматического способа их создания
Я вручную отредактировал SVG и добавил ширину обводки (намного) большую, чем та, что в файле, а также установил цвет на тот же цвет, что и его заливка — пара вариаций, и с , и без stroke-opacity. Все они по-прежнему отображаются с одними и теми же видимыми контурами, так что, увы, это не решение. Но почему тогда это не будет отображаться на каждом изображении?
@ usr2564301 теперь это кажется настоящей головоломкой. Можете ли вы вставить ссылку на SVG со вставленными штрихами?

Это происходит из-за того, что границы сканов неточно выровнены, а также из-за алиасинга/сглаживания.

Для сканирования используйте параметр «гладкое» и отключите оптимизацию, чтобы сделать его более точным.

Если вы уберете галочку с опции «stack scans» для трассировки, линии между объектами будут белыми (точнее, прозрачными) вместо синих, если так будет лучше.

Затем белый можно уменьшить, продублировав объект на месте. Возможно, вам придется повторить это пару раз.

Если это не для частного использования, я бы сначала проверил лицензию на смайлик Apple, прежде чем приступить к его изменению.

Поскольку значок не такой уж сложный, я бы предложил перерисовать (если это разрешено).