Преобразование HTML в изображение и извлечение маски для каждого слова (wkhtmltoimage, сглаживание)CSS

Разбираемся в CSS
Ответить
Anonymous
 Преобразование HTML в изображение и извлечение маски для каждого слова (wkhtmltoimage, сглаживание)

Сообщение Anonymous »

Моя проблема заключается в следующем: у меня есть HTML-файл, содержащий некоторый текст (повернутый, с разными размерами шрифтов и семействами шрифтов, но цвет текста можно регулировать). Я хочу преобразовать этот HTML в изображение с помощью такого инструмента, как wkhtmltoimage, или безголового браузера.
Я буду делать это для миллионов файлов, поэтому скорость имеет значение. Судя по моим экспериментам, wkhtmltoimage выполняется намного быстрее, чем создание снимка экрана в браузере без заголовка.
После того как мы преобразовали HTML в изображение, я хочу извлечь маски сегментации. для каждого слова, строки и абзаца на странице (генерация синтетических данных для обучения модели ML).
Наконец, я бы предпочел сохранить все это на Python.
Мой подход был следующим:
  • Я буду отображать каждое слово в HTML-файле в разном цвете (с помощью CSS).< /li>
    Затем преобразуйте HTML в png с помощью wkhtmltoimage.
  • Поскольку каждое слово имеет свой цвет, я могу извлечь маски сегментации слов. на основе цвета.
Теоретически, поскольку в цветовом пространстве RGB 16 777 216 цветов, я должен иметь возможность отображать все слова на странице в разных цветов (поскольку на одной странице у нас не было бы около 16 777 216 слов).
Где я застрял: оказывается, когда мы конвертируем HTML в png (используя wkhtmltoimage или даже сделать снимок экрана), изображение будет сглажено. Края смягчены, а цвета не совсем такие, как указано в CSS.
Я думаю, это называется субпиксельным рендерингом. Я пробовал отключить Clear Type в Windows, но это не дало никаких изменений.
Я также пытался установить качество wkhtmltoimage на 100, что тоже помогло. не получить желаемого результата.
Отключение сглаживания в настройках Windows дало заметные изменения в изображении, но этого было недостаточно для создания точной маски. Кроме того, было бы здорово, если бы пользователям программного обеспечения не приходилось настраивать параметры своей ОС.
Изображение

Итак, если буква T имеет оттенок красного (200, 0, 0) и На странице есть еще одно слово того же оттенка красного. Когда я попытаюсь замаскировать это слово, некоторые части буквы Т также окажутся в этой маске.
Я могу чтобы извлечь эти маски с помощью OpenCV в Python. Но из-за проблем со сглаживанием/субпиксельной отрисовкой маски неточны, как описано выше.
Изображение

Итак, есть ли способ создать точные маски из моего HTML, преобразованного в изображение?
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/784 ... oimage-ant
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «CSS»