Применение оттенков серого к документу с ограниченными значениями цвета - PullRequest
0 голосов
/ 04 мая 2019

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

  1. При преобразовании изображения глаз обычно смотрит на все изображение, поэтому, если определенный пиксель больше не является "черным""(RGB 0,0,0), но теперь, возможно (RGB 10,20,10), эта тонкая разница обычно теряется в восприятии.
  2. С документом, с которым мы сейчас имеем дело (в качестве примера)рисование линий по левому краю страницы.Когда вся эта строка меняется с «черной» (RGB 0,0,0) на что-то «похожее» (RGB 10,20,10), наша оригинальная линия может быть довольно «чистой» по сравнению с «белой» (RGB).255 255 255) фон, теперь начинает казаться слегка размытым и не таким четким, как раньше.

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

black1 = (RGB 1,2,2)
red1 = (RGB 238,48,36)
redshade1 = (RGB 248,173,174)
redshade2 = (RGB 248,177,179)

Мне уже удалось создать алгоритм, который определяет «черный» для документа (просто сложите значения RGB и выберитесамая низкая сумма).Глядя на red1, красный оттенок1 и красный оттенок2, где тонкость приходит вместе.Мне нужно определить алгоритм для определения красного цвета как цвета, тогда как красный и красный тени - это оттенки.Сделав это, я бы применил документ «черный» к «абсолютному» красному цвету, но затем я применил бы алгоритм к красному оттенку 1 и красному оттенку 2 (аналогично R = (R + G + B) / 3, G = (R + G + B) / 3, B = (R + G + B) / 3).Это позволит красной линии, проходящей вниз по левой стороне страницы, теперь отображаться в «черном документе», а не в «серой шкале».Но redshade1 и redshade2 по-прежнему могут отображаться в оттенках серого, поэтому они выглядят «более правдоподобно» оригиналу в ограниченном цветовом пространстве в этом документе.

Я уже пробовал автоматизированный алгоритм, основанный на методике усреднения, описанной выше.,Я также посмотрел на цвета, переведенные в цветовое пространство HSB, HSV и CMYK, чтобы увидеть, есть ли четкий способ алгоритмического различения между red1 и redshade1, но мне не совсем ясно, где провести черту между ними.

Имейте ввиду, что это только конкретный пример.С тем же успехом документ может содержать зеленые или синие элементы (или любую их комбинацию), и я хотел бы провести различие между тем, что является «цветом», а что - «тенью».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...