Компьютерная графика: программно создать дуотон (или разделения) - PullRequest
2 голосов
/ 14 марта 2010

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

У меня вопрос, у меня нормальное серое изображение, как конвертировать его в дуотон?

Я знаю, что я могу настроить кривые в Photoshop - это не то, что я спрашиваю, а как сделать это программно? Возможно, есть библиотека, которая может сделать это? А как насчет "компенсации точечного усиления"? «Общее покрытие чернилами»?

Или, каковы алгоритмы для создания "разделения"?

Ответы [ 2 ]

2 голосов
/ 14 марта 2010

Вы можете сделать это программно. Подобные операции с цветом довольно просты, но программно все еще требует настройки.

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

Ваша цель состоит в том, чтобы создать два новых канала (дуотон), которые будут цвета A и цвета B. (A, B, соответственно). Я предполагаю, что эффект, который вам нужен, заключается в том, что A и B либо присутствуют, либо отсутствуют определенное место. Таким образом, возможными значениями для местоположения являются A, AB, B и нет.

Вы должны выполнить итерацию по местоположениям вашего изображения (возможно, в пикселях) и перевести исходные цвета (из RGB или G в дуотон).

Существует несколько методов их перевода, но давайте сделаем это просто: у изображения только один канал G, и мы применим фильтр порогов:

threshold = 0.25
IF G < (0.5 + threshold) THEN A
IF G >= (0.5 - threshold) THEN B

Например, с этими значениями для G:

G         AB
0.0       A
0.1       A
0.2       A
0.3       AB
0.4       AB
0.5       AB
0.6       AB
0.7       AB
0.8        B
0.9        B
1.0        B

Теперь вы используете только три из четырех возможных значений в двойном тоне. Следующее будет лучше:

thresholdA = 0.25
thresholdB = 0.5
IF G >= thresholdA && G < (1 - thresholdA) THEN A
IF G >= thresholdB                         THEN B

G         AB
0.0       
0.1       
0.2       A
0.3       A
0.4       A
0.5       AB
0.6       AB
0.7       AB
0.8        B
0.9        B
1.0        B

Вам придется настроить пороги. Если вы разрешите настройку в графическом интерфейсе, то вы создали свой собственный (незначительный) Photoshop: -)

0 голосов
/ 15 марта 2010

Дуотоны фотошопа не очень сложные. Дуотоны Photoshop - это просто канал в градациях серого, дублированный и выводимый двумя чернилами. Каждый цвет чернил может иметь свою собственную кривую, которая регулирует выход каждого канала чернил. Единственная сложная часть - это представление кривой (Photoshop отображает кривую Безье на несколько точек данных, определяющих эту кривую).

Для получения справки по другим терминам, которые вы выдвинули в своем вопросе, вам следует изучить библиотеки управления цветом (ColorSync в Mac OS X, Windows Color System или LittleCMS).

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

Дополнительная информация в ответ на комментарии:

CMS может помочь с компенсацией усиления точки и преобразованием изображения в оттенки серого из других цветовых пространств, таких как RGB.

Способ, которым Photoshop создает дуотоны, заключается не в том, чтобы даже разделить изображение на две части, а просто включить в файл инструкции, чтобы дважды напечатать одно изображение в оттенках серого, корректируя значения по мере необходимости. Если вы хотите создать файл изображения, который может использоваться другими программами, такими как InDesign, для создания документов, подходящих для коммерческого принтера, вам нужно будет создавать файлы EPS. См. Документацию на веб-сайте Adobe по EPS и PostScript.

Попиксельная регулировка выполняется путем создания справочных таблиц для каждого чернил. В таблицах есть записи для каждого значения оттенков серого. Для 8-битного изображения в градациях серого таблица соответствия будет содержать 256 значений. Таблица поиска заполняется путем решения кривой для каждого чернил. Затем просмотрите исходные данные в градациях серого, заменив каждое значение тем, что находится в этом месте в таблице поиска. Например, скажем, ваша первая кривая помещает значение 102 в слот 127, а вторая кривая устанавливает значение 153 в слот 127. Тогда ваш первый цвет будет печататься при 40% для каждого пикселя в исходном изображении, которое составляет 50%, и ваш второй цвет будет печататься при 60% для каждого пикселя в исходном изображении, что составляет 50%.

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