Применение оттенков серого к документу с ограниченными значениями цвета

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

  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, но мне не совсем ясно, где провести черту между ними.

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

0 ответов

Другие вопросы по тегам