Как из заурядной женщины сделать красотку

Геннадий Маков
  Разумеется, компьютер может всё. Особенно, если им управляет искусственный интеллект. Собственно он на это и заточен. Никого не интересует, какова она в жизни. На фото она должна выглядеть, как в гламурных журналах. То есть, красоткой. Таков вкус читающей и воспринимающей изобразительное искусство публики, которая замечательно ведётся на рекламу - "Как создать портрет, не умея рисовать".
  Потому и столь популярны программы, такие, как Фотошоп и проч.
  Такие мысли пришли мне в голову, когда я просматривал это видео - https://youtu.be/PN316aHMYFs
  В видео идёт речь о компьютерной обработке фотографий, а точнее, о различных методах этой обработки. Материал показался мне интересным, и я захотел разобраться в этих методах и внедрить их в свою программу.

  Оригиналом в указанном видео служило сильно затемнённое фото. Как оно было затемнено, бог весть. Его требовалось осветлить и сделать это наилучшим образом.
  Результат обработки программой с искусственным интеллектом и результат ручной обработки в фотошопе вы видите на иллюстрации. Отметим, что искусственный интеллект постарался – вдохновенно-просветлённое лицо и свободное от зелёных рефлексов платье. У меня такое изображение вызвало подозрения, ну, не может фотомодель быть такой в действительности.

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

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

     КАК МОЖНО ТЕМНИТЬ И СВЕТЛИТЬ ФОТО

  Как вы знаете, на цифровом фото цвет представляется целыми числами в виде RGB компонент, от 0 и до 255 каждая. Если мы эти компоненты уменьшим в некоторое число раз, то фото затемнится. Если увеличим – то фото осветлится. Вроде бы просто. Однако так просто никто и никогда не делает, и вот почему.
  Простое уменьшение компонент эквивалентно добавлению чёрной краски. И это является частным случаем обычного смешения непрозрачных красок, например, на палитре художника. А под темнением мы подразумеваем несколько иной процесс, и о нём речь пойдёт ниже.
  Что касается увеличения значения каждой из компонент в одинаковое число раз, то эта процедура вовсе не эквивалентна добавлению белил. Более того, значение более 255 недопустимо, поэтому при увеличении компонент их приходится обрезать на уровне 255. Подобное обрезание на значительной площади приводит к появлению однородно окрашенных областей, которые сразу видны на фотографии в виде «лысых пятен».
  Поэтому никто и никогда так не делает.

  Никто не делает, а я сделал. И, вы посмотрите на насыщенный фрагмент справа сверху, подобный процесс осветления оказался полезным. В смысле достижения искомой гламурности.
  Столь гламурная насыщенность, правда, несколько излишня, но ведь оные процессы можно чередовать!
  Я так и поступил, сделав сначала небольшое простое осветление, а затем осветление обычное. Получилось лучше, но фотографии недоставало контраста. И тут я задумался, но прежде чем рассказывать о других усовершенствованиях, я хотел бы объяснить, что такое «обычное светление» и «обычное темнение».

     ОБЫЧНОЕ СВЕТЛЕНИЕ И ТЕМНЕНИЕ

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

     ПОРОГОВО-КОНТРАСТНОЕ СВЕТЛЕНИЕ И ТЕМНЕНИЕ

  Контраст, это отношение яркости светлых мест к яркости тёмных. Обычное темнение увеличивает контраст, а обычное светление его уменьшает. Универсальным является решение с указанием кривой, на которой коэффициент усиления или ослабления яркости от этой же яркости и зависит.
  Но есть путь и попроще – установим порог, ниже которого яркость при светлении не будет меняться, а выше – увеличиваться, пропорционально расстоянию от этого порога. Легко сообразить, что пары таких операций будет достаточно, чтобы заменить ими универсальный способ.

  Если подобная процедура делается для цвета целиком, то порог устанавливается по светлоте тона, то есть по сумме компонет RGB, а коэффициент усиления для каждой из компонент берётся одинаковым.
  Однако возможно и индивидуальное выставление порогов – R_порог, G_порог и B_порог указываются в виде цвета. И такая возможность в моей программе тоже есть. Если мы хотим контрастно усилить присутствие в изображении какого-либо цвета, то кликом правой кнопки мыши берём с рисунка этот цвет, и затем, нажав клавишу «i», инвертируем его, и потом немного темним. В результате мы получим для превалирующих в выбранном цвете компонент низкий порог, и соответственно, усиление их будет более высоким.

  Чтобы получить гламурное изображение я воспользовался этой опцией – взял телесный цвет с щёчки и чуть подкраснил его. А затем проделал то, о чём рассказывал выше. В результате модель не только осветлилась, но ещё и подрумянилась.
  Белое платье, правда, приобрело лёгкий кремовый цвет, но белый цвет, как и любой другой, легко восстанавливается тонирующей кистью серого цвета http://proza.ru/2023/02/02/143  По листьям я прошёлся зелёной тонирующей кистью, и получил то, что вы можете видеть на иллюстрации.

  В общем, Вы поняли. Гламурных девиц из заурядной модели я теперь могу делать в своей программе легко. Но вот вопрос, а стоит ли тратить на это своё драгоценное время? Ответ понятен. Поэтому, натешившись с преобразованиями, я вернулся к рисованию мастихином.

__________
19.05.2023