Разное

Заливка невозможна так как недостаточно непрозрачных исходных пикселей: Заливка и обводка выделенных областей, слоев и контуров в Photoshop

Содержание

Adobe Photoshop. Полное руководство.

Установка операционных систем.

• Правильно, быстро, надежно и качественно установить и настроить, а также помочь выбрать нужную операционную систему помогут мастера нашего центра.

Установка программного обеспечения.

• Наши специалисты имеют огромный опыт в установке и настройке различного программного обеспечения. Они быстро и качественно установят и настроят любые программы, необходимые Вам для комфортной работы.

Восстановление данных.

• Восстановление информации на жестких дисках. Восстановление удалённых файлов. Восстановление после форматирования. Восстановление данных с флэш носителя.

Удаление компьютерных вирусов.

• Лучше если удалением вирусов займутся специалисты, они установят антивирусную программу, которая в будущим защитит компьютер от проникновения вирусов.

Диагностика компьютера.

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

Ремонт компьютеров.

• Мы оказываем качественные и надежные услуги по ремонту компьютеров самого разного уровня. Возможность выполнения ремонта как в офисе, так и на дому.

Сборка компьютера на заказ.

• Специалисты нашей компании помогут вам организовать сборку компьютера, и переведут ваши пожелания в конкретные совместимые комплектующие.

Установка и настройка рабочих станций.

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

Установка и настройка серверов.

• Мы предлагаем услуги по установке и настройке серверов в составе сетей любой конфигурации, поможем вам сделать оптимальный выбор оборудования и программного обеспечения.

Установка и настройка оргтехники.

• Установка и настройка оргтехники дома или в офисе. Принтеры, сканеры, МФУ, другая оргтехника – важная составляющая повседневной жизни современного человека и неотъемлемая часть каждого офиса.

Компьютерные сети.

• Wi-Fi сеть для дома или в офис – это современное, удобное и эффективное решение для организации Wi-Fi зон для подключения различных устройств, поддерживающих технологию Wi-Fi.

Обслуживание компьютеров.

• Чистка компьютера от пыли – это важная операция, которую должен проводить каждый пользователь компьютера.

Режимы наложения слоев в фотошопе. Подробное описание работы

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

Цифровые художники и графические дизайнеры в своей практике используют режимы наложения для создания или коррекции текстуры и светотени. Но, к огромному сожалению многие фотографы недооценивают эти полезные функции в Фотошоп. При правильной комбинации режимов наложения можно придать фотографии драматическую атмосферу, которую практически невозможно создать иными способами.

Этот урок расскажет вам о каждом режиме смешивания в отдельности и предоставит полезные советы, которые подскажут вам, какие из режимов смешивания необходимо использовать в тех или иных случаях.

Классификация режимов наложения

В Adobe Photoshop имеется 27 режимов наложения или смешивания слоёв, каждый из которых может быть отнесён к одной из шести групп в зависимости от типа взаимодействия между слоями. В меню Blending Mode группы режимов визуально разделены при помощи горизонтальных линий, но не подписаны. Если вам неинтересно читать про группы, вы можете сразу перейти к практическим примерам.

  1. Нормальные режимы: Normal (Нормальный) и Dissolve (Растворение). При непрозрачности 100% пиксели верхнего слоя просто замещают собой пиксели нижнего, не испытывая на себе никакого влияния последних. При уменьшении непрозрачности пиксели нижнего слоя либо проступают сквозь пиксели верхнего (Normal), либо частично замещают их (Dissolve).
  2. Субтрактивные режимы: Darken (Замена тёмным), Multiply (Умножение), Color Burn (Затемнение основы), Linear Burn (Линейный затемнитель), Darker Color (Темнее). Эти режимы, так или иначе, приводят к затемнению изображения. Их действие можно сравнить со смешением красок на бумаге, т.е. с субтрактивным синтезом цвета.
  3. Аддитивные режимы: Lighten (Замена светлым), Screen (Осветление), Color Dodge (Осветление основы), Linear Dodge (Линейный осветлитель), Lighter Color (Светлее). В противовес субтрактивным режимам аддитивные режимы служат для осветления изображения по принципу смешения цветового излучения (аддитивный синтез цвета).
  4. Комплексные режимы: Overlay (Перекрытие), Soft Light (Мягкий свет), Hard Light (Жёсткий свет), Vivid Light (Яркий свет), Linear Light (Линейный свет), Pin Light (Точечный свет), Hard Mix (Жёсткое смешение). Эти режимы воздействуют на яркость и контраст конечного изображения, делая тени темнее, а света – светлее.
  5. Разностные режимы: Difference (Разница), Exclusion (Исключение), Subtract (Вычитание), Divide (Разделение). Формирование результирующего цвета осуществляется на основании разницы между цветами верхнего и нижнего слоёв.
  6. HSL режимы: Hue (Цветовой тон), Saturation (Насыщенность) Color (Цвет), Luminosity (Яркость). HSL означает Hue, Saturation, Lightness, т.е. тон, насыщенность и светлота. Таким образом, HSL режимы осуществляют перенос одного или двух компонентов цветовой схемы HSL с верхнего слоя на нижний.

Зависимость от непрозрачности

Некоторые режимы наложения очень зависят от того, как отрегулированы ползунки Непрозрачность слоя

и
Заливка
. Например,
Жесткое смешение
обычно выглядит не очень хорошо, но если настроить процент Непрозрачности заливки для данного слоя, то можно получить отличные результаты.

Кроме Жесткого смешения такими зависимыми являются еще семь: Затемнение основы, Линейный затемнитель, Осветление основы, Линейный осветлитель (добавить), Яркий свет, Линейный свет, Разница.

Практика

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

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

Нижний слой

В качестве верхнего слоя я возьму текстуру песка.

Верхний слой

Далее мы последовательно переберём для верхнего слоя все возможные режимы наложения и посмотрим, что из этого получится. В данных примерах я не преследую никаких художественных целей, а просто пытаюсь продемонстрировать механику смешивания слоёв в различных режимах. Для большей наглядности непрозрачность верхнего слоя будет составлять 100% для всех режимов, кроме Normal и Dissolve, для которых я поставлю 50%. При 100% непрозрачности эффект смешивания в этих режимах был бы незаметен, поскольку верхний слой полностью замещает нижний. Разумеется, в реальной жизни очень часто приходится использовать намного более скромные значения непрозрачности, чтобы эффект смешения не выглядел слишком кричащим.

Напомню, что непрозрачностью слоя можно управлять, используя два параметра: Opacity (Плотность) и Fill (Заливка). При этом для большинства режимов наложения Opacity и Fill действуют абсолютно одинаково с той лишь разницей, что Opacity воздействует как на сам слой, так и на применённые к нему стили, а Fill стили игнорирует. Однако восемь режимов (Color Burn, Linear Burn, Color Dodge, Linear Dodge, Vivid Light, Linear Light, Hard Mix, и Difference) реагируют на уменьшение параметров Opacity и Fill немного по-разному, и об этом не стоит забывать.

Во всех случаях, когда я привожу формулы, используемые Фотошопом для расчёта результирующего цвета, буква a будет обозначать значение яркости верхнего слоя, а b – нижнего. Минимальное значение равно 0 (чёрный цвет), максимальное равно 255 (белый цвет).

Перекрытие

Этот режим наложения, наверное, самый популярный и полезный, когда дело доходит до увеличения насыщенности и контраста. Если у вас уже идеальная фотография, то произойдет попросту смешивание пикселей и неказистый эффект. Использовать данный режим лучше при условии, что на слоях у вас одно и то же изображение. Тогда вы сможете сделать цвета более сочными. Если же требуется немного осветлить, то тогда уже переходите на Экран или Умножение для затемнения. Но Перекрытие дает именно насыщенность. Если у вас очень светлая картинка, то она станет еще светлее, поэтому для тарелки с блинчиками Перекрытие никак нельзя применять. Только Умножение.

Нормальные режимы наложения

Normal (Нормальный)

Normal

Стандартный и наиболее часто употребляемый режим. При 100% непрозрачности пиксели верхнего слоя полностью замещают собой пиксели нижнего, а при уменьшении непрозрачности нижний слой плавно проступает из-под верхнего.

Dissolve (Растворение)

Dissolve

При 100% непрозрачности выглядит так же, как и Normal. При уменьшении непрозрачности часть пикселей верхнего слоя в случайном порядке замещается пикселями нижнего.

Мягкий свет

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

Субтрактивные режимы наложения

Darken (Замена тёмным)

Darken

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

Multiply (Умножение)

Multiply

Лучший режим для затемнения. Значение пикселей верхнего слоя умножается на значение соответствующих пикселей нижнего слоя и делится на максимальное возможное значение (255).

Формула режима: (a × b) ÷ 255.

Если один из слоёв содержит чёрный цвет (0) – результирующим будет тоже чёрный. Если присутствует белый цвет (255) – результирующим будет цвет другого слоя.

Color Burn (Затемнение основы)

Color Burn

Ещё более выраженное затемнение, чем в случае с Multiply. Света приглушаются сильнее, а цветовая насыщенность средних тонов возрастает.

Формула: 255 – ((255 – b) ÷ (a ÷ 255)).

Linear Burn (Линейный затемнитель)

Linear Burn

Темнее чем Multiply, но не такой насыщенный как Color Burn.

Формула: (a + b) – 255.

Darker Color (Темнее)

Darker Color

Действует так же, как и Darken, выбирая наиболее тёмные пиксели из предложенных, с тем лишь отличием, что Darker Color не обращает внимания на индивидуальные цветовые каналы, и вместо этого сравнивает общие значения яркости пикселей. В результате – цвета используемых пикселей не искажаются.

Группа затемнения

Darken (Замена темным)

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


Darken (Замена темным)

Multiply (Умножение)

Затемняет все изображение. Полезен для увеличения плотности светов и средних тонов. Если верхний слой белый – изменений не произойдет.

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


Multiply (Умножение)

Color Burn (Затемнение основы)

Позволяет получить более темное изображение с увеличенной контрастностью. Если верхний слой белый – изменений не произойдет.


Color Burn (Затемнение основы)

Linear Burn (Линейный затемнитель)

Более “сильная” комбинация режимов наложения Multiply и Color Burn, темные пиксели преобразуюся в черные. Если верхний слой белый – изменений не произойдет.

Темнее

Сравнивает суммарную величину значений всех каналов для совмещенного и основного цветов и отображает цвет с наименьшим значением. В режиме «Темнее» третий цвет не создается.


Темнее

Аддитивные режимы наложения

Lighten (Замена светлым)

Lighten

Этот режим противоположен режиму Darken. Если пиксели верхнего слоя светлее соответствующих пикселей нижнего, они сохраняются. Если же верхние пиксели оказываются темнее – они замещаются нижними. Сравнение значений яркости осуществляется поканально.

Screen (Осветление)

Screen

Режим Multiply наоборот. Эффективно и деликатно осветляет изображение. Клиппинг может возникнуть, только если один из слоёв уже содержит белые пиксели.

Формула: 255 – ((255 – a) × (255 – b) ÷ 255).

Color Dodge (Осветление основы)

Color Dodge

Более грубое и интенсивное осветление, чем Screen. Характеризуется выбиванием светов и повышением цветовой насыщенности средних тонов.

Формула: (b ÷ (255 – a)) × 255.

Linear Dodge (Линейный осветлитель)

Linear Dodge

Ещё светлее, чем Color Dodge, но с более блеклыми цветами. Значения яркости попросту складываются.

Формула: a + b.

Lighter Color (Светлее)

Lighter Color

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

Умножение

При выборе режима Умножения вы затемняете рисунок. Этот вариант подходит, если исходная фотография слишком засвечена (проэкспонирована). Суть в том, что при многократном использовании одних и тех же пикселей на обоих слоях, им присваиваются номера в соответствии с их цветом, и они перемножаются. Но если умножить черный на черный, то результат станет черным, а белый на белый – белым. Это нейтральные цвета, они всегда неизменны, но вот все остальные изменяются.

Ниже можно увидеть тарелку с блинчиками и ягодками. Она слишком засветлена. Применили Умножение и увеличили количество слоев. Результат уже хороший.

Комплексные режимы наложения

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

Во всех комплексных режимах кроме Overlay оценка яркости производится на основании верхнего слоя. Там, где верхние пиксели темнее 50% серого цвета, применяется субтрактивный метод, если светлее – аддитивный. Пиксели верхнего слоя, окрашенные в нейтрально серый цвет (50%), не оказывают на нижний слой никакого влияния. В режиме Overlay аналогичным образом оценивается нижний слой.

Overlay (Перекрытие)

Overlay

К тёмным участкам изображения применяется режим Multiply, а к светлым – Screen. Оценка яркости производится по нижнему слою. Если создать копию слоя и применить к ней режим Overlay, эффект будет напоминать применение S-образной кривой.

Soft Light (Мягкий свет)

Soft Light

Так же как и в режиме Overlay используется комбинация из режимов Multiply и Screen, но яркость исходных пикселей оценивается на основании верхнего слоя. Soft Light – наиболее удобный режим для аккуратного повышения контраста, поскольку он очень деликатно обращается с тенями и светами, не допуская их выбивания.

Hard Light (Жёсткий свет)

Hard Light

Использует комбинацию режимов Linear Burn и Linear Dodge для тёмных и светлых пикселей соответственно. Результатом является довольно жёсткое повышение контраста.

Vivid Light (Яркий свет)

Vivid Light

Комбинация режимов Color Burn и Color Dodge. Действует ещё более интенсивно, чем Hard Light.

Linear Light (Линейный свет)

Linear Light

Комбинация режимов Linear Burn и Linear Dodge.

Pin Light (Точечный свет)

Pin Light

Комбинация режимов Darken и Lighten.

Hard Mix (Жёсткое смешение)

Hard Mix

Действует также как и Linear Light (сочетание Linear Burn и Linear Dodge), но на пределе интенсивности, в результате чего в каждом из цветовых каналов пикселям присваивается либо минимальное (0), либо максимальное (255) значение яркости. Как следствие, цветовая палитра изображения в режиме RGB редуцируется до 8 цветов: красного (255; 0; 0), зелёного (0; 255; 0), синего (0; 0; 255), голубого (0; 255; 255), малинового (255; 0; 255), жёлтого (255; 255; 0), чёрного (0; 0; 0) и белого (255; 255; 255).

Перестановочные режимы

Существует две пары режимов смешивания, являющихся перестановочными версиями друг друга. Это Перекрытие и Жесткий свет

, а также пара
Яркость и Цветность
. Когда вы применяете один такой режим к активному слою, то увидите результат тот же, как если бы добавили другой режим наложения на нижний слой, а затем изменили порядок слоев.

Разностные режимы наложения

Difference (Разница)

Difference

Сравниваются значения яркости верхнего и нижнего пикселей, и из большего значения вычитается меньшее. Таким образом, результирующее значение соответствует разности исходных значений. Наличие белого цвета на одном из слоёв приводит к инверсии любого другого цвета. Чёрный цвет не оказывает никакого влияния. Очевидно, что пиксели одинакового цвета взаимопогашаются и становятся чёрными, поскольку их разность равна 0.

Exclusion (Исключение)

Exclusion

Действует по аналогии с Difference, но с меньшим контрастом. Основное отличие заключается в том, что пиксели одинакового цвета делаются серыми, а не чёрными.

Subtract (Вычитание)

Subtract

Значение яркости верхнего слоя вычитается из значения нижнего.

Формула: b – a.

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

Divide (Разделение)

Divide

Очень сильное осветление, напоминающее Color Dodge. Частное от деления значения яркости пикселя нижнего слоя на значение яркости соответствующего пикселя верхнего слоя умножается на 255.

Формула: (b ÷ a) × 255.

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

Группа сравнения

Difference (Разница)

Представляет идентичные пиксели как черные, похожие – как темно-серые, а противоположные – как инвертированные. Если верхний слой черный – изменений не будет.


Difference (Разница)

Exclusion (Исключение)

Похоже на режим Difference, однако обеспечивает меньшую контрастность. Наложение на черный цвет не приводит к каким-либо изменениям, а наложение на белые пиксели – к инверсии сравниваемых значений, что приводит к их отображении серым цветом.


Exclusion (Исключение)

HSL режимы наложения

Hue (Цветовой тон)

Hue

Результирующий цвет имеет цветовой тон верхнего слоя, а насыщенность и светлоту нижнего.

Saturation (Насыщенность)

Saturation

Используются значения насыщенности верхнего слоя вместе со значениями цветового тона и светлоты нижнего.

Color (Цвет)

Color

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

Luminosity (Яркость)

Luminosity

В противовес режиму Color сохраняет светлоту верхнего слоя, а значения цветового тона и насыщенности берёт из нижнего. Режим Luminosity полезен, когда изменяя яркость и контраст изображения вы стремитесь сохранить цвета неизменными. Это напоминает редактирование канала L при работе в цветовом пространстве Lab. Например, я обычно использую режим Luminosity при повышении резкости с помощью нерезкого маскирования, чтобы избежать появления цветных артефактов.

Группа компонентов изображения

Hue (Цветовой тон)

Комбинирует свечение (Luminance) и насыщенность (Saturation) нижнего слоя с цветовым тоном (Hue) верхнего.


Hue (Цветовой тон)

Saturation (Насыщенность)

Комбинирует свечение (Luminance) и цветовой тон (Hue) нижнего слоя с насыщенностью (Saturation) верхнего слоя.


Saturation (Насыщенность)

Color (Цветность)

Комбинирует тон (Hue) и насыщенность (Saturation) верхнего слоя и свечение (Luminance) нижнего слоя.


Color (Цветность)

Luminosity (Яркость)

Противоположный режиму Color. Комбинирует Luminance (cвечение) верхнего слоя и Hue (цвета) и Saturation (колебание цвета) нижнего слоя.


Luminosity (Яркость)

Designed by Freepik

Итоги

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

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

И если вам говорят: у вас объект на небе яркий

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

Заполнение выделения цветом

В диалоговом окне в параметре Contents (Содержание) установите Color (Цвет). После этого откроется палитра цветов, где вам предоставится возможность выбрать любой цвет.

После выбора цвета нажмите OK для палитры цветов и для диалогового окна «Выполнить заливку».

Жёлтый цвет превратился в красивый фиолетовый.

Создание выделения

Для выделения жёлтого карандаша я использовал инструмент Quick Selection (Быстрое выделение).

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

После создания выделения, в нижней части панели слоёв кликните по значку создания нового слоя. Убедитесь, что находитесь на новом слое, и с активным выделением кликните правой кнопкой мыши внутри выделения. В открывшемся меню выберите команду Fill (Выполнить заливку).

Что такое Мягкий свет?

Примечание переводчика – в официальной документации Adobe этот режим наложения называют «Рассеянный свет», но в русифицированной версии Photoshop его перевели как «Мягкий свет».

Adobe описывает его следующим образом: «Затемняет или осветляет цвета в зависимости от совмещенного цвета. Эффект похож на расплывчатый свет прожектора. Если совмещенный цвет (источник света) светлее, чем 50% серый, изображение становится светлее, как после осветления. Если совмещенный цвет темнее 50% серого, изображение становится темнее, как после затемнения. Закрашивание черным или белым цветом создает отчетливо более темный или светлый участок, но не влияет на чисто черные и белые участки».

Этот режим наложения намного проще понять. По сути, слой с режимом наложения Мягкий свет больше похож на инструменты Осветлитель (Dodge Tool) и Затемнитель (Burn Tool) самого Photoshop. Одно из отличий – нельзя осветлить участок до абсолютно белого или затемнить до черного, он станет значительно светлее или темнее, но не приблизится к одному из краев гистограммы. Еще одна особенность – работая с осветляющим/затемняющим слоем, вы вносите не деструктивные коррекции.

В каких ситуациях лучше подходит Мягкий свет? Я предпочитаю применять его, если нужно обработать облака или очень маленький кусочек фотографии. Поскольку Мягкий свет имеет свойство уменьшать контрастность, я стараюсь не использовать его для важных участков кадра. Если вы просто хотите добавить немного теней или яркости облакам, это – отличное решение.

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

Теперь, когда я объяснил принцип их работы, вы должны увидеть всё сами, чтобы понять разницу. Пример выше демонстрирует действие каждого из режимов. Непрозрачность кисти была установлена на 100%, чтобы можно было наглядно продемонстрировать, что происходит с фотографией после применения каждой коррекции. Верхняя 1/5 фотографии осталась нетронутой. Ниже представлен оригинал той же фотографии.

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

Дальше идет осветление с Перекрытием. Так же, как в случае с затемнением, большая часть светлых участков становятся белыми, а тени при этом сильно слабеют. Посмотрите на кусты. В финальной версии фотографии они были немного недоэкспонированы. Поскольку они – не самая важная деталь, я особо не беспокоился об их тенях. При осветлении кусты выглядят довольно хорошо. Это – отличный пример того, как Перекрытие помогает спасти темные участки без какого-либо ущерба для фотографии. Если бы я сделал это при постобработке, кусты выглядели бы очень опрятно.

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

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

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

Пример:

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

Если чутье укажет вам на верхний правый угол, где лучи солнца подсвечивают камень – вы правы. В исходном RAW-файле сияние выглядело очень привлекательно, но даже после глобальных коррекций не было достаточно заметным. Мне нравилась эта подсветка, но было чувство, будто ей нужно больше внимания. Поэтому, чтобы добавить ей дополнительной яркости, я создал слой осветления/затемнения и выбрал в качестве источника для светописи сияющий камень. Затем я использовал режим наложения Мягкий свет, уменьшил непрозрачность и закрасил кусочек камня. Это немного сократило контраст и создало светящуюся дымку. В итоге получилась прекрасная атмосфера сияния. Это – сила режимов наложения и светописи.

Не стесняйтесь делиться своим мнением. Хорошо ли я справился с темой или вы бы хотели узнать больше?

Автор: Nathan Standre

Источник: photo-monster.ru

Наложение слоев в виде целостных графических элементов

Для того чтобы осуществить данную операцию, нам понадобится как минимум 2 отдельных графических объекта. Таковые можно открыть в виде двух независимых проектов.

Запускаем фотошоп, выбираем пункт File, затем Open – и загружаем в программу 2 изображения. Их можно выбрать в соответствующем окне одновременно.

В результате картинки загрузятся на двух отдельных холстах.

Теперь нужно разблокировать оба слоя, так как сразу после открытия они, скорее всего, будут обозначены фотошопом как фоновые и заблокированные и с ними довольно сложно осуществлять операции наложения. Для этого надо кликнуть два раза мышкой на названии каждого из слоев, после чего нажать OK. Наименование соответствующих графических элементов изменится на Layer.

Теперь можно осуществлять наложение слоев. Попробуем разместить тот, на котором изображены цветы, на том, где открыта фотография морского пирса.

Первым делом будет полезно немного уменьшить накладываемую картинку. Для этого следует задействовать опцию Transform Controls. Для ее активации нужно выбрать инструмент Rectangular Marquee Tool, после – поставить галочку напротив пункта Show Transform Controls в верхней части интерфейса фотошопа.

После, используя ползунки, расположенные по углам редактируемой картинки, уменьшаем накладываемое изображение.

Для того чтобы в процессе изменения размера рисунка не менялись его пропорции, можно удерживать клавишу Shift. После того как оптимальная величина изображения подобрана, ее нужно зафиксировать, нажав Enter.

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

Одновременно сформируется новый слой. Его можно свободно перемещать относительно предыдущего, редактировать и т. д.

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

Изучим особенности данной процедуры.

Оттенки, насыщение, светимость

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

На примере ниже для тарелки с блинчиками использовали тон и изображение окрасилось, смешались краски. Если же поменять слои, то эффект более наглядный и неоднозначный.

Небольшой итог

Таким образом, режимы смешивания слоев выполняют одну простую роль – коррекция исходного изображения. Другое дело, что только восемь из 27 типов работают, если изображения разные на слоях. Это, наверное, главное, что следует помнить.

Но также интересен и тот факт, что режимы наложения можно смешивать и тогда композиция может получиться невероятно загадочной и новой. Всего-то добавили на нижний слой Экран, на птичку – Цветность и получили совершенно новое изображение. Добавьте маску и кисточкой пройдитесь по небесам. Может, там северное сияние?

А, может, превратить тундру в зеленый массив? Меняем слои местами и применяем Цветность и Затемнение. И это без игры с непрозрачностью и заливкой. Но опять-таки со слоями-масками, поскольку небо нужно было «почистить».

Таким образом, режимы смешивания предлагают еще один занятный и творческий способ преобразить ваши фотографии, изображения для дальнейшего использования в макете сайта. Кто-то скажет: можно просто перебором по слоям подобрать нужный вариант, зачем нужно знать, где темнее, где светлее?

Да, можно, но это дольше и сложнее. Когда не знаешь принцип смешивания, можно часами сидеть и подбирать режимы на слоях и думать,
да что ж получается белиберда-то?…
Если иметь хотя бы общее представление, то время подбора сократиться.

Пример применения Screen

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

Поверх текстуры я накладываю фотографию с облаками.

А теперь использую режим наложения Screen.

И для сравнения, режим Screen и режим Multiply в одном флаконе. В первом случае выигрывают светлые пиксели. Во втором выигрывают черные.

Кисточка

Напоследок еще одно интересное «но». У инструмента Кисточка существует два дополнительных режима смешивания. Это На заднем плане

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

Что такое осветление и затемнение?

Эти техники возвращают нас к временам, когда еще нужно было проявлять пленку. Они использовались, чтобы осветлить или затемнить определенные части снимка. Великие первопроходцы фотосъемки применяли их и с постепенным отходом от пленки техники начали терять популярность. Когда были созданы такие цифровые фотолаборатории, как Photoshop, осветление и затемнение снова вернулись в строй. Затем появились фотографы, которые хотели получить более точный контроль над тенями и бликами. Таким образом, этот процесс получил новую жизнь. Сейчас многие профессионалы и любители пользуются им при обработке своих фотографий.

Что же такое Осветление и Затемнение (или как их называют в английском Dodge и Burn – прим. переводчика)? Я много о них говорил, но никогда толком не объяснял. Dodging: Процесс осветления участка фотографии. Burning: Процесс затемнения участка фотографии.

При работе с этой техникой в Photoshop создается новый серый слой с определенным режимом наложения. Это может быть Перекрытие (Overlay) или Мягкий свет (Soft Light). Но что они из себя представляют и когда используется каждый из них?

Добавим холодных оттенков

Создайте слой Color Balance (Цветовой Баланс), чтобы придать изображению холодных оттенков. Для данного изображения необходимы следующие настройки: Midtones (Средние тона), Cyan/Red -17; Shadows (Тени), Cyan/Red -21; Highlights (Света), Yellow/Blue +21. В конце вы можете создать еще один слой с кривыми и снова привести кривую к форме буквы S, чтобы сделать фотографию еще контрастнее.

GPU консоли Nintendo DS и его интересные особенности / Хабр


Я хотел бы рассказать вам о работе GPU консоли Nintendo DS, об его отличиях от современных GPU, а также выразить своё мнение о том, почему использование Vulkan вместо OpenGL в эмуляторах не принесёт никаких преимуществ.

Я не особо знаю Vulkan, но из прочитанного мне понятно, что Vulkan отличается от OpenGL тем, что работает на более низком уровне, позволяя программистам управлять памятью GPU и подобными вещами. Это может пригодиться для эмуляции более современных консолей, в которых используются проприетарные графические API, обеспечивающие уровни контроля, недоступные в OpenGL.

Например, аппаратный рендерер blargSNES — один из его трюков заключается в том, что во время некоторых операцийй с разными буферами цветов используется один буфер глуби/стенсил-буфер. В OpenGL это невозможно.

Кроме того, между приложением и GPU остаётся меньше мусора, а значит при правильной реализации производительность будет выше. В то время как в драйверах OpenGL полно оптимизаций для стандартных случаев использования и даже для конкретных игр, в Vulkan в первую очередь хорошо написано должно быть само приложение.

То есть, по сути, «с большой силой приходит большая ответственность».

Я не специалист по 3D API, поэтому вернёмся к тому. что я знаю хорошо: GPU консоли DS.

Уже написано несколько статей об отдельных его частях (о его навороченных квадах, о ерунде с viewport, о забавной особенности растеризатора и об удивительной реализации антиалиасинга), но в данной статье мы рассмотрим устройство в целом, но со всеми сочными подробностями. По крайней мере, всё то, что мы знаем.

Сам GPU — это довольно древнее и устаревшее железо. Он ограничен 2048 полигонами и/или 6144 вершинами на кадр. Разрешение равно 256×192. Даже если увеличить это в четыре раза, производительность не будет проблемой. В оптимальных условиях DS может выводить до 122880 полигонов в секунду, что по меркам современных GPU смехотворно.

Теперь перейдём к подробностям работы GPU. На поверхности он выглядит довольно стандартным, но глубоко внутри его работа сильно отличается от работы современных GPU, из-за чего эмуляция некоторых функций может быть усложнена.

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

Движок геометрии


Довольно стандартный геометрический конвейер.

Стоит упомянуть, что вся арифметика выполняется в целых числах с фиксированной запятой, потому что DS не поддерживает числа с плавающей запятой.

Движок геометрии эмулируется полностью программно (GPU3D.cpp), то есть он не сильно относится к тому, что мы используем для рендеринга графики, но я всё равно расскажу о нём подробно.

1. Преобразования и освещение. Получаемые вершины и координаты текстур преобразуются с помощью наборов из матриц 4×4. Дополнительно к цветам вершин применяется освещение. Здесь всё довольно стандартно, единственная нестандартность заключается в том, как работают координаты текстур (1.0 = один тексел DS). Также стоит упомянуть всю систему стеков матриц, которые в той или иной степени являются аппаратной реализацией glPushMatrix().

2. Настройка полигонов. Преобразованные вершины собираются в полигоны, которые могут быть треугольниками, четырёхугольниками (quads), полосами из треугольников или полосами из четырёхугольников. Quad-ы обрабатываются нативно и не преобразуются в треугольники, что довольно проблематично, потому что современные GPU поддерживают только треугольники. Однако похоже, что кто-то придумал решение, которое мне нужно протестировать.

3. Отбрасывание. От полигонов можно избавляться в зависимости от направленности на экран и выбранного режима отсечения (culling mode). Тоже довольно стандартная схема. Однако мне нужно разобраться, как это работает для quad-ов.

4. Усечение. Полигоны за пределами объёма видимости устраняются. Полигоны, частично выходящие за эту область, усекаются. Этот шаг не создаёт новых полигонов, а добавляет вершины к существующим. По сути каждая из 6 плоскостей усечения может добавить к полигону одну вершину, то есть в результате у нас может получиться до 10 вершин. В разделе о движке рендеринга я расскажу, как мы с этим справились.

5. Преобразование в область просмотра. Координаты X/Y преобразуются в экранные координаты. Координаты Z преобразуются так, чтобы они помещались в 24-битный интервал буфера глубин.

Интересно то, как обрабатываются координаты W: они «нормализуются», чтобы поместиться в 16-битный интервал. Для этого берётся каждая координата W полигона, и если она больше 0xFFFF, то она сдвигается вправо на 4 позиции, чтобы уместиться в 16 бит. И наоборот, если координата меньше 0x1000, то она сдвигается влево, пока не попадёт в интервал. Предполагаю, что это нужно для получения хороших интервалов, а значит большей точности при интерполяции.

6. Сортировка. Полигоны сортируются так, чтобы просвечивающие полигоны отрисовывались первыми. Потом они сортируются по их координатам Y (ага), что обязательно для непрозрачных и необязательно просвечивающих полигонов.

Кроме того, в этом и есть причина ограничения в 2048 полигонов: для выполнения сортировки их нужно где-то хранить. Существует два внутренних банка памяти, выделенных для хранения полигонов и вершин. Есть даже регистр, сообщающий, сколько полигонов и вершин хранится.

Движок рендеринга


И здесь начинается самое интересное!

После того, как все полигоны были настроены и отсортированы, к работе приступает движок рендеринга.

Первый забавный момент — то, как он выполняет заливку полигонов. Это совершенно непохоже на работу современных GPU, которые выполняют заливку по тайлам и используют оптимизированные для треугольников алгоритмы. Я не знаю, как они все работают, но видел, как это делается в GPU консоли 3DS, и там всё основано на тайлах.

Как бы то ни было, на DS рендеринг выполняется по растровым строкам. Разработчикам пришлось так сделать, чтобы рендеринг мог выполняться параллельно с олдскульными двухмерными тайловыми движками, которые выполняют отрисовку по растровым строкам. Есть небольшой буфер на 48 растровых линий, который можно использовать для корректировки некоторых растровых строк.

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


Полигон-«бабочка». Всё правильно и великолепно.

Но что если мы его повернём?


Ой.

В чём здесь ошибка? Давайте начертим контур исходного полигона, чтобы разобраться:


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

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

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

Я бы добавил ещё несколько примеров невыпуклых полигонов, но мы слишком отклонимся от темы.

Давайте лучше разберёмся, как с произвольным количеством вершин работают затенение по Гуро и текстурирование. Существуют барицентрические алгоритмы, используемые для интерполяции данных по треугольнику, но… в нашем случае они не подходят.

Рендерер DS здесь тоже имеет собственную реализацию. Ещё немного любопытных изображений.


Вершины полигона — это точки 1, 2, 3 и 4. Числа не соответствуют настоящему порядку обхода, но смысл вы поняли.

В текущей растровой строке рендерер определяет вершины, непосредственно окружающие рёбра (как сказано выше, он начинает с самых верхних вершин, а затем проходит по рёбрам до их завершения). В нашем случае это вершины 1 и 2 для левого ребра, 3 и 4 для правого ребра.

Наклоны рёбер используются для определения пределов промежутка, то есть точек 5 и 6. В этих точках атрибуты вершин интерполируются на основании вертикальных позиций в рёбрах (или горизонтальных позиций для рёбер, наклоны которых преимущественно по оси X).

Затем для каждого пикселя в промежутке (например, для точки 7) атрибуты на основании позиции по X внутри промежутка интерполируются из атрибутов, ранее вычисленных в точках 5 и 6.

Здесь все использованные коэффициенты равны 50%, чтобы упростить работу, но смысл понятен.

Я не буду вдаваться в подробности интерполяции атрибутов, хоть об этом тоже интересно будет написать. По сути, это правильная с точки зрения перспективы интерполяция, но в ней есть интересные упрощения и особенности.

Теперь поговорим о том, как DS заполняет полигоны.

Какими правилами заполнения он пользуется? Здесь тоже есть много интересного!

Во-первых, существуют разные правила заливки для непрозрачных и просвечивающих полигонов. Но самое важное, что эти правила применяются попиксельно. Просвечивающие полигоны могут иметь непрозрачные пиксели, и они будут следовать тем же правилам, что и непрозрачные полигоны. Можно догадаться, что для эмуляции подобных трюков на современных GPU требуется несколько проходов рендеринга.

Кроме того, на рендеринг разными интересными способами могут влиять разные атрибуты полигонов. В дополнение к довольно стандартным буферам цветов и глубин у рендерера также имеется буфер атрибутов, отслеживающий всевозможные любопытные вещи. А именно: ID полигонов (по отдельности для непрозрачных и просвечивающих полигонов), просвечиваемость пикселя, необходимость применения тумана, направлен ли этот полигон на камеру или от неё (да, и это тоже), и находится ли пиксель на ребре полигона. А может быть и что-то ещё.

Задача эмуляции подобной системы не будет тривиальной. У обычного современного GPU есть стенсил-буфер, ограниченный 8 битами, которого далеко недостаточно для всего, что может хранить буфер атрибутов. Нам нужно придумать хитрый обходной путь.

Давайте разберёмся:

* обновление буфера глубин: обязательно для непрозрачных пикселей, необязательно для просвечивающих.

* ID полигонов: полигонам назначаются 6-битные ID, которые можно использовать в нескольких целях. ID непрозрачных полигонов используются для разметки рёбер. ID просвечивающих полигонов можно использовать для управления тем, где они будут отрисовываться: просвечивающий пиксель не будет отрисовываться, если ID полигона совпадает с уже имеющимся в буфере атрибутов ID просвечивающего полигона. Также оба ID полигона аналогичным образом используются для управления отрисовкой теней. Например, можно создать тень, закрывающую пол, но не персонажа.

(Примечание: тени — это просто реализация стенсил-буфера, здесь нет ничего ужасного.)

Стоит заметить, что при отрисовке просвечивающих пикселей сохраняется уже имеющийся ID непрозрачного полигона, а также флаги рёбер последнего непрозрачного полигона.

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

* флаг передней грани: вот с ним возникают проблемы. Посмотрите на скриншот:


Sands of Destruction, экраны этой игры — набор трюков. Они не только изменяют свои координаты Y, чтобы повлиять на Y-сортировку. Вероятно, показанный на этом скриншоте экран — самый худший.

В нём используется граничный случай теста глубины: функция сравнения «меньше чем» принимает равные значения, если игра отрисовывает смотрящий в камеру полигон поверх непрозрачных пикселей полигона, направленного от камеры. Да, именно. И значения Z всех полигонов равны нулю. Если не эмулировать эту особенность, на экране будут отсутствовать некоторые элементы.

Думаю, что это было сделано для того, чтобы передняя сторона объекта всегда была видима поверх обратной стороны, даже когда они настолько плоские, что значения Z одинаковы. Всеми этими хаками и трюками рендерер DS похож на аппаратную версию рендереров эпохи DOS.

Как бы то ни было, эмулировать такое поведение через GPU было сложно. А ведь существуют и другие подобные граничные случаи тестирования глубины, которые тоже нужно протестировать и задокументировать.

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


Примечание: каркасные (wireframe) полигоны рендерятся заполнением только рёбер! Очень умный ход.

Ещё одно забавное примечание о буферизации глубин:

На DS есть два возможных режима буферизации глубин: Z-буферизация и W-буферизация. Кажется, что это довольно стандартно, но только если не вдаваться в детали.

* При Z-буферизации используются координаты Z, преобразованные так, чтобы они помещались в 24-битный интервал буфера глубин. Координаты Z линейно интерполируются по полигонам (с некоторыми странностями, но они не особо важны). Здесь тоже нет ничего нестандартного.

* В W-буферизации координаты W используются «как есть». Современные GPU обычно используют 1/W, но в DS применяется только арифметика с фиксированной запятой, поэтому использовать обратные величины не очень удобно. Как бы то ни было, в этом режиме координаты W интерполируются с коррекцией перспективы.

А вот как выглядят финальные проходы рендеринга:

* разметка рёбер: пикселям, у которых заданы флаги рёбер, присваивается цвет, взятый из таблицы и определённый на основании ID непрозрачного полигона.

Они будут цветными рёбрами полигонов. Стоит заметить, что если поверх непрозрачного полигона отрисовывается просвечивающий полигон, то рёбра полигона всё равно будут цветными.

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

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

* антиалиасинг (сглаживание): он применяется к рёбрам (непрозрачных) полигонов. На основании наклонов рёбер при рендеринге полигонов вычисляются значения покрытия пикселей. На последнем проходе эти пиксели смешиваются с пикселями под ними с помощью хитрого механизма, который я описал в предыдущем посте.

Антиалиасинг не должен (и не может) эмулироваться таким образом на GPU, поэтому здесь это не важно.

За исключением того, что если разметка рёбер и антиалиасинг должны применяться к одним и тем же пикселям, они получают только размертку рёбер, но с 50-процентной непрозрачностью.

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

Но в целом я хотел донести следующее: OpenGL или Vulkan (а также Direct3D, или Glide, или что угодно ещё) здесь не помогут. У наших современных GPU более чем достаточно мощности для работы с сырыми полигонами. Проблема заключается в подробностях и особенностях растеризации. И дело даже не в идеальности пикселей, достаточно для примера посмотреть на issue tracker эмулятора DeSmuME, чтобы понять, с какими проблемами встречаются разработчики при рендеринге через OpenGL. С этими же проблемами нам тоже придётся как-то справляться.

Также замечу, что использование OpenGL позволит портировать эмулятор, допустим на Switch (потому что пользователь Github по имени Hydr8gon начал создавать порт нашего эмулятора на Switch).

Так что… пожелайте мне удачи.

«Не удалось завершить из-за недостаточного количества непрозрачных пикселей» — помогите

  • «Не удалось завершить, потому что не хватает источника непрозрачных пикселей» — не решено другим потоком

    Я получаю сообщение об ошибке, показанное в заголовке этой ветки, и понятия не имею, почему. Я работаю с НЕ прозрачным изображением. Все 100% непрозрачности. На самом деле, это нормально, что я работаю, всякий раз, когда я пытаюсь заполнить все выделение на любом слое в любом документе, я получаю эту ошибку.Идеи? Спасибо

    Скотт

    Привет

    Похоже, в параметрах заливки выбрано «Content Aware». Если у вас есть выбор и ваш активный слой пуст, Content Aware выдаст эту ошибку. Чтобы «пиксели непрозрачного источника (в вашем текущем слое)» работали. Для сплошных цветов передайте осведомленное содержимое в один из других режимов.

    Пожалуйста, опубликуйте, если это не поможет вам.

  • Я использую CC Photoshop на Mac & period; Используйте его около месяца и периода; При использовании более длинной опции наполнителя для удаления объекта с моего изображения я иногда получаю сообщение «не удалось завершить, потому что недостаточно непрозрачных пикселей и точки. Я создал новый слой

    .

    Мне было интересно, может ли кто-нибудь сказать мне, что я делаю не так.

    Я бы использовал его на дублированном слое ctrl / cmd-J для слоя, который вы хотите заполнить, или видимой объединенной печати ctrl-alt-shift-E.Эта функция предназначена для заполнения небольших прозрачных поверхностей, таких как сетка панорамы, или удаления объекта с изображения. Он не предназначен для заполнения пустого слоя.

  • Не удалось открыть имя файла & период; ошибка indd & lpar; пожалуйста, помогите & запятая; Мне нужно отправить в печать & rpar;

    Эрнесто, мне не удалось открыть ваш файл InDesign в вашем RAR, щелкнув файл-> открыть и выбрав «Открыть как копию».«Удачи, реконструкция файла.

    Если хотите, я могу отправить вам в личку ссылку на действующий INDD или IDML.

  • DirectX для Windows 8 & lpar; 64-бит & rpar; «ваша среда выполнения DirectX обновлена ​​и период; Загрузите и установите этот файл из Microsoft & period;» «Программе установки не удалось загрузить файл & период; Повторите попытку позже или проверьте подключение к сети & period;»

    Итак, я попытался заставить это работать, по крайней мере, в течение дня, но всякий раз, когда я пытаюсь запустить свою новую игру, я уезжаю, я все время получал эту ошибку: «ваша среда выполнения DirectX обновлена.Загрузите и установите этот файл с сайта Microsoft. ‘ Когда меня перенаправили, я загрузил, он открывается и нажимает на «Согласовано» и все такое, но после 10 секунд инициализации он дал мне эту ошибку: «Программа установки не смогла загрузить файл. Повторите попытку позже или проверьте подключение к сети ». Проверил все, что вроде ничего не случилось, делал снова и снова и снова. Итак, я просто перешел к решению или любым новостям для DirectX. Пока не повезло.

    Я использую DirectX 11 прямо сейчас, есть ли новый DirectX или я придурок, и это другая проблема? Я не могу этого понять.

    Спасибо

    Привет

    Попробуйте эту ссылку … это полный установщик для DirectX Runtime, июнь 2010 … Это дополнительный пакет, который использует много игр …

    http://www.Microsoft.com/en-us/download/confirmation.aspx?ID=8109

    Файл является самораспаковывающимся, поэтому обратите внимание, куда вы его извлекаете.

    Откройте папку и дважды щелкните DXSETUP …

  • Не удалось прочитать из источника & период; Пожалуйста, проверьте, перемещен ли он или удален

    Привет всем

    Когда я пытаюсь сделать проект afx после кодирования мультимедиа, я получаю следующее сообщение

    «Не удалось прочитать из источника.«Пожалуйста, проверьте, перемещен ли он или удален.

    Я прочитал на форуме, что это связано со старой установкой первой.

    Я использую совершенно новый компьютер. Единственное установленное программное обеспечение — это моя основная коллекция cs5 и обновления из Веб-сайт Adobe.

    Win7 pro

    I7

    16 гигабайт RAM

    до скорой встречи

    s

    Я думаю, что это может быть потому, что — Adobe CS5 установка подключаемых модулей в центральном месте

    C: \ Program Files \ Adobe \ Common \ Plug-ins \ CS5 \ MediaCore

    (вероятно, путь к файлу на Mac отличается)

    Media Encoder не может загрузить эти плагины.

    Пытался выйти оттуда и поставить папку плагинов After Effects

    , который, кажется, работает для меня

  • Извините, & запятая; мы не смогли подключиться к Skype & period; Проверьте подключение к Интернету и повторите попытку

    Я использую Windows XP и при попытке подключиться к Skype получаю следующее.

    К сожалению, не удалось подключиться к Skype. Проверьте подключение к Интернету и повторите попытку.

    Я установил Internet Explorer 8, но мой Skype не всегда подключается.Он постоянно говорит мне попробовать еще раз

  • Мой компьютер сломался, и я переустанавливаю первые элементы 7 и запятую; но он не распознает мой серийный номер, на футляре компакт-диска их два, пожалуйста, помогите

    Мой компьютер сломался, и я переустанавливаю первые элементы 7, но он не распознает мой серийный номер. На коробке с компакт-диском их два, пожалуйста, помогите

    Когда вы задаете вопрос, вам нужно будет предоставить некоторую основную информацию

    Mac или Windows и ТОЧНО какая версия операционной системы?

    Известно, что последние операционные системы Mac И Windows вызывают «странные» проблемы.«

    Информация утеряна — ответ №1 в https://forums.adobe.com/thread/2008767

    Недействительная лицензия http://helpx.adobe.com/creative-suite/kb/error-serial-number-valid-product.html

    — http://helpx.adobe.com/creative-suite/kb/invalid-serial-number-cs4.html

    — и http://forums.adobe.com/thread/1038761

  • Я использую Creative Cloud, чтобы загрузить пробную версию Photoshop на свой компьютер, но эта ошибка & двоеточие — Не удалось выполнить установку & период; Недостаточно места на диске & период; Освободите место на диске C и повторите попытку & lpar; -30 & rpar;

    Я использую Creative Cloud, чтобы загрузить пробную версию Photoshop на свой компьютер, но эта ошибка: -Инстилляция не удалась.Не хватает места на диске. Освободите место на C и попробуйте еще раз (-30)

    Я вошел в настройки облака и сказал загрузить для моего самого большого диска E (что подходит для Lightroom), но он загружается только на диск C (маленький диск почти заполнен) для фотошопа. Я что-то пропустил или это ошибка?

    Заранее спасибо

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

    Гино

  • Недавно & запятая; Я покупаю камеру Sony a6000 & period; В настоящее время я использую 2 & period; 5 Lightroon & period; Когда я пытался загрузить свои необработанные файлы с кардридера в Lightroom & comma; но не удалось, так как Lightroom не мог прочитать изображения и период; Кто-нибудь может помочь & quest; Спасибо & запятая; Эрик

    Недавно покупаю камеру Sony a6000. Сейчас я использую 2.5 Lightroon. Когда я попытался загрузить свои необработанные файлы с кардридера в Lightroom, но потерпел неудачу, поскольку Lightroom не мог читать изображения.Кто-нибудь может помочь? Спасибо, Eric

    Обновление

    , или -.

    Конвертируйте необработанные изображения DNG с помощью программы Adobe DNG Converter бесплатно для ваших изображений Sony в формате RAW. Затем импортируйте версии DNG в Lightroom.

    «Adobe DNG Converter» не является частью Lightroom (или Photoshop), а является отдельным (автономным).

    Вы «запускаете» программу, выбираете папку изображений от Sony, выбираете папку для выходных файлов DNG.

    Использование Photoshop | Цифровой негатив (DNG)

  • Почему, по его словам, не удалось связаться с надежным источником & quest;

    Почему по его словам не удалось связаться с надежным источником?

    Какая у вас операционная система?

    Что вы пытаетесь скачать?

  • CS4 Pr-кодировщик и двоеточие; «Кодировка не a not & sol; не может быть прочитана в источнике & period; & period; & period;» & period; »

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

    «Не удалось прочитать из источника». Пожалуйста, проверьте, перемещен ли он или удален. »
    .. .это детали ноутбука отображает

    Это моя первая ретушь Pr CS4, помогите пожалуйста.

    Спасибо!

    Эта статья из KB Adobe может вам помочь.

    Удачи

    Охота

  • Я могу зайти в интернет и все & запятая; но на значке написано «НЕ ПОДКЛЮЧЕНО», и я уже 2 недели пытался подключиться к сети & period; & period; & period; он все еще не работает & period; & period; & period; Пожалуйста, помогите & excl;

    Я пытался подключиться к сети несколько раз, но он все еще говорит «не подключен», но я могу выйти в Интернет и все такое…
    , и я также пытаюсь исправить или диагностировать, но он все еще не работает …
    Пожалуйста, помогите idk, что еще 2 делать …

    Привет

    Удачи, вам нужна техническая поддержка в реальном компьютерном магазине или поддерживается производитель системы.

    Ваш роутер может быть здесь подозрительным, вы успешно обновили его прошивку как возможное решение? И я хотел бы
    Обновить драйверы WiFi на компьютерах. Как вы себя позиционируете в роутере? Есть ли на пути
    препятствий?

    На самом деле попробуйте обновить драйвер и отключить сетевой вход.При необходимости вы можете загрузить их на другой компьютер
    и перенести на съемный носитель.

    Панель управления

    — сеть — запишите марку и модель Wi-Fi — дважды щелкните верхнюю часть — вкладку драйвера — напишите версию
    — щелкните обновление драйвера (не удается сделать то, что MS сильно отстает от пилотов сертификации). Затем
    Щелкните правой кнопкой мыши устройство Wi-Fi и УДАЛИТЬ — Перезагрузить — это обновит стек драйверов.

    Посмотрите на сайтах производителя драйвера — и производителя устройства вручную.
    http://pcsupport.about.com/od/driverssupport/HT/driverdlmfgr.htm

    Как установить драйвер устройства в Vista Device Manager
    http://www.Vistax64.com/tutorials/193584-Device-Manager-install-driver.html

    Скачать — СОХРАНИТЬ — зайти куда положишь — щелкнуть правой кнопкой мыши — ЗАПУСТИТЬ ОТ АДМИНИСТРАТОРА.

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

    Посмотрев на производителя системы, можно уточнить у производителя устройства еще более новую версию.(Изготовитель системы
    станет вашей политикой резервного копирования).

    Повторите эти действия для сетевой карты (NIC) и сейчас самое время получить другие обновленные драйверы, такие как Vista, например, обновленные драйверы
    .

    Еще бы отключил автообновление драйверов. Если обновления Windows предлагает просто СКРЫТЬ, поскольку они
    почти всегда старые, и вы можете искать драйверы вручную по мере необходимости.

    Как отключить автоматическую установку драйверов в Windows Vista — драйверы
    http: // www.AddictiveTips.com/Windows-Tips/how-to-disable-automatic-driver-installation-in-Windows-Vista/
    http://TechNet.Microsoft.com/en-us/library/cc730606 (WS.10). aspx

    ————————————————- ——

    Убедитесь, что вы знаете детали подключения к беспроводному маршрутизатору — SSID и пароль.

    Вы теряете соединение, когда это делаете, и вам нужно повторить вход в систему.

    Панель управления — Центр управления сетями и общим доступом — щелкните правой кнопкой мыши «Настроить» — страница набора сетевых расположений.
    нижний левый щелчок по объединению или удалению сетевых расположений — УДАЛИТЬ все экземпляры вашей сети (и
    других, которые вы больше не используете) — ПЕРЕЗАГРУЗИТЬ. Пуск — Подключиться для входа в сеть.

    ————————————————- —-

    Установите этот флажок:

    Странная проблема с Интернетом под Vista
    http://www.catonett.com/blog/archives/194

    Windows Vista не может получить IP-адрес от определенных маршрутизаторов или некоторых DHCP-серверов сторонних производителей.
    http: // support.Microsoft.com/kb/928233/en-us

    ————————————————- —

    А:

    Проблемы с сетевым подключением
    http://windowshelp.Microsoft.com/Windows/en-us/help/33307acf-0698-41ba-B014-ea0a2eb8d0a81033.mspx

    Надеюсь, это поможет.
    Роб — велосипед — Марк Твен сказал, что это хорошо.

  • Я получаю код ошибки 643 во время установки дат & период; & период; & период; Я вчера пробовал & запятую; некоторые шаги, которые мне сообщили & period; & period; & period; они не работали & period; & period; & period; Пожалуйста, помогите

    У меня при установке фиников появляется код ошибки 643… Я вчера попробовал, некоторые шаги, которые мне поставили … они не работали … Помогите пожалуйста

    Есть 2 обновления, которые не устанавливаются … У меня была эта проблема в течение последних 6 месяцев

    Посмотрите, поможет ли вам эта служба поддержки Microsoft:

    http://support.Microsoft.com/kb/976982

    Примечание: существует 2 метода. Если августовский челлендж мне не помогает, попробуйте 2-й.

    Еще одна статья на номер 643
    http://Windows.Microsoft.com/en-us/Windows7/Windows-Update-error-80070643

    …………………………………………… ………………………………..

    Взгляните на этот ответ форумов MS Answers:

    http://answers.Microsoft.com/en-us/Windows/Forum/windows_vista-windows_update/what-is-error-code-643-Windows-vistaunable-to/4ab6dd4e-e9eb-4a0f-b822-ad976e2c33c6

  • Адресная строка, в которой я могу вводить веб-адреса, не отображается в моем Mozilla & comma; пожалуйста, помогите мне с этим & period; & period; & period; Как активировать & quest;

    Адресная строка, в которой я могу вводить веб-адреса, не отображается в моем Mozilla, пожалуйста, помогите мне с этим… Как его активировать?

    Hi kdwis,

    Попробую вид> панели инструментов и активация панели навигации и на панели инструментов закладок .

    Надеюсь, это поможет!

  • Новая заливка с учетом содержимого в Photoshop CC 2019

    Самая большая и лучшая функция

    Photoshop CC 2019 — это, пожалуй, новая заливка с учетом содержимого.

    Впервые представленная в Photoshop CS5, Content-Aware Fill анализирует области вокруг выделенной области, чтобы определить, какие пиксели генерировать для заполнения выделенной области и удаления нежелательного объекта.

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

    В Photoshop CC 2019 все изменилось. Теперь заливка с учетом содержимого дает вам полный контроль над тем, какие пиксели отбирать, как применять алгоритм.

    В Photoshop CC 2019 новая заливка с учетом содержимого позволяет определять и исключать исходные области. Вы также получаете настройки вывода, которые помогут вам работать в неразрушающем рабочем процессе.

    Чтобы активировать новую функцию с учетом содержимого, выберите в изображении все, что вы хотите удалить.

    Затем перейдите в Edit> Content-Aware Fill…
    ( Note : существующее диалоговое окно Edit> Fill все еще доступно.)

    Панель инструментов с учетом содержимого

    Находясь в рабочей области заливки с учетом содержимого, вы можете изменить поведение заливки с помощью следующих инструментов и параметров:

    Инструмент «Кисть для отбора проб» можно использовать для добавления или удаления областей изображения, которые Photoshop будет использовать для создания образца заливки.

    По умолчанию зеленое наложение покрывает области, которые Photoshop CC 2019 использует для выборки пикселей для создания заливки.

    Чтобы добавить или удалить из области отбора проб, рисуйте прямо на наложении. Результаты появятся на панели предварительного просмотра, как только вы отпустите кнопку мыши.

    Для управления поведением кисти можно использовать кнопки «Добавить» или «Вычитание» на панели параметров.

    Удерживайте Alt (Mac: Option) во время рисования, чтобы временно переключиться на альтернативный вариант (добавить или вычесть в зависимости от ваших текущих настроек).
    Вы можете использовать ползунок для регулировки размера кисти.

    Вы можете изменить исходное выделение с помощью инструментов «Лассо» или «Многоугольное лассо», доступных на панели инструментов.
    Инструмент «Лассо»: нажмите и перетащите, чтобы нарисовать выделение от руки.
    Инструмент «Многоугольное лассо»: создает выделения с прямыми краями.
    Кнопки «Развернуть» или «Сжать»: если выбран инструмент «Лассо» или «Многоугольное лассо», вы увидите кнопки «Развернуть» или «Сжать». Эти кнопки будут либо сжимать, либо расширять выделение в зависимости от количества пикселей в соответствующем всплывающем ползунке.

    Инструменты «Рука» и «Масштаб» работают так, как и следовало ожидать. Они позволяют масштабировать и панорамировать изображение.

    • Ручной инструмент : перемещает (панорамирует) изображение в пределах своего окна.
    • Инструмент масштабирования : Увеличивает и уменьшает размер изображения.

    Опции выборки с учетом содержимого

    Настройки в опциях выборки управляют наложением, которое указывает области выборки.

    • Непрозрачность : изменяет степень видимости зеленого наложения.50% по умолчанию.
    • Цвет : изменяет цвет наложения с зеленого на любой другой цвет, который вам нравится.
    • Указывает : выбирает, на что нацелено наложение. Выбранные области или исключенные области.

    Параметры заливки
    Измените параметры заливки на панели заливки с учетом содержимого для достижения наилучших результатов:

    • Color Adaptation : Позволяет адаптировать контраст и яркость для лучшего соответствия. Подходит для заполнения контента с постепенным изменением цвета или текстуры.
    • Rotation Adaptation : Позволяет вращать контент для лучшего соответствия. Подходит для заполнения содержимого повернутыми или изогнутыми узорами.
    • Масштаб : позволяет изменять размер содержимого для лучшего соответствия. Подходит для заполнения контента повторяющимися узорами разного размера или в перспективе.
    • Зеркало : позволяет переворачивать контент по горизонтали для лучшего соответствия. Полезно для изображений с горизонтальной симметрией.

    Настройки вывода с учетом содержимого

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

    • Текущий слой: Выполняет заливку текущего выбранного слоя.
    • Новый слой: заливка создает новые пиксели в новом слое для неразрушающего рабочего процесса.
    • Дублировать слой: создает заливку в виде дубликата исходного слоя.

    Предварительный просмотр в полном разрешении

    Панель предварительного просмотра обеспечивает предварительный просмотр внесенных вами изменений в полном разрешении. Предварительный просмотр в полном разрешении создается сразу после предварительного просмотра в низком разрешении.

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

    После отображения начального предварительного просмотра с низким разрешением рядом с счетчиком появляется дополнительный значок предупреждения. После создания и отображения предварительного просмотра в полном разрешении значок предупреждения исчезает.

    Ниже приведен пример пользовательского интерфейса, когда предварительный просмотр с низким разрешением готов и создается предварительный просмотр с полным разрешением.

    Заливка с учетом содержимого и маски слоев


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

    Изображение

    — машинное зрение — документация MicroPython 1.13

    Находит все капли (связанные области пикселей, прошедшие пороговый тест) в image и возвращает список из объектов image.blob , которые описывают каждый большой двоичный объект. Дополнительные сведения см. В объекте image.blob .

    пороговые значения должны быть списком кортежей [(lo, hi), (lo, hi), ..., (lo, hi)] определение диапазонов цветов, которые вы хочу отслеживать.Вы можете передать до 32 пороговых кортежей за один вызов. Для изображения в градациях серого. Каждый кортеж должен содержать два значения — минимальное значение в градациях серого. значение и максимальное значение оттенков серого. Только пиксельные области, попадающие между этими пороги будут учтены. Для изображений RGB565 каждый кортеж должен иметь шесть значений (l_lo, l_hi, a_lo, a_hi, b_lo, b_hi) — минимальные и максимумы для каналов LAB L, A и B соответственно. Для удобства использования это функция автоматически зафиксирует поменяемые местами минимальные и максимальные значения. Кроме того, если кортеж больше шести значений, остальные игнорируются.И наоборот, если кортеж слишком короткий, остальные пороги считаются максимальными диапазон.

    Примечание

    Чтобы получить пороговые значения для объекта, который вы хотите отслеживать, просто выберите (щелкните и перетащите) на объект, который вы хотите отслеживать в буфере кадра IDE. В гистограмма обновится, чтобы соответствовать этой области. Тогда просто запишите где цветовое распределение начинается и спадает в каждом канале гистограммы. Это будут ваши нижнее и верхнее значения для пороговых значений . Лучше всего вручную определить пороги по сравнению с использованием верхнего и нижнего квартили, потому что они слишком узкие.

    Вы также можете определить цветовые пороги, войдя в Инструменты-> Машинное зрение-> Редактор пороговых значений в OpenMV IDE и выбрав пороги из окна ползунка графического интерфейса.

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

    roi — прямоугольный кортеж области интереса (x, y, w, h). Если не указано, он равен прямоугольнику изображения.Только пиксели в пределах roi эксплуатируются.

    x_stride — количество x пикселей, которое нужно пропустить при поиске большого двоичного объекта. После обнаружения капли алгоритм заливки линий будет точным. Увеличьте x_stride , чтобы ускорить поиск больших двоичных объектов, если известно, что они большие.

    y_stride — это количество пикселей y, которое нужно пропустить при поиске большого двоичного объекта. После обнаружения капли алгоритм заливки линий будет точным. Увеличьте y_stride , чтобы ускорить поиск больших двоичных объектов, если известно, что они большие.

    Если область ограничивающего прямоугольника большого двоичного объекта меньше area_threshold , он фильтруется вне.

    Если количество пикселей большого двоичного объекта меньше пикселей_пороговое значение , он отфильтровывается.

    объединить если True объединяет все не отфильтрованные капли, ограничивающие прямоугольники пересекаются друг с другом. маржа может быть использована для увеличения или уменьшите размер ограничивающих прямоугольников для капель во время тест на пересечение. Например, с запасом в 1 каплю, ограничивающий прямоугольники, расположенные на расстоянии 1 пикселя друг от друга, будут объединены.

    Объединение больших двоичных объектов позволяет реализовать отслеживание цветового кода. Каждый объект blob имеет код значение , который представляет собой битовый вектор, состоящий из единиц для каждого цвета порог. Например, если вы передадите image.find_blobs двухцветный пороговые значения, то первый порог имеет код 1, а второй — 2 (a третий порог будет 4, четвертый — 8 и так далее). Объединенные капли логически ИЛИ все их коды вместе, чтобы вы знали, какие цвета производятся их. Это позволяет вам отслеживать два цвета, если вы получаете объект blob. обратно с двумя цветами, тогда вы знаете, что это может быть цветовой код.

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

    Наконец, если вы хотите объединить капли, но не хотите, чтобы два цветовых порога быть объединенным, тогда просто вызовите image.find_blobs дважды с отдельными порогами чтобы капли не объединялись.

    threshold_cb может быть установлен на функцию для вызова каждого большого двоичного объекта после его был установлен порог, чтобы отфильтровать его из списка объединяемых BLOB-объектов.Звонок Функция back получит один аргумент — объект blob, который нужно отфильтровать. Тогда обратный вызов должен вернуть True, чтобы оставить blob, и False, чтобы отфильтровать его.

    merge_cb может быть настроен на функцию для вызова каждых двух blob, которые собираются быть объединенным, чтобы предотвратить или разрешить объединение. Функция обратного вызова получит два аргумента — два объединенных объекта blob. Обратный звонок тогда должен верните True, чтобы объединить капли, или False, чтобы предотвратить слияние больших двоичных объектов.

    x_hist_bins_max , если установлено в ненулевое значение, заполняет буфер гистограммы в каждом объект blob с проекцией x_histogram всех столбцов в объекте.Этот value затем устанавливает количество интервалов для этой проекции.

    y_hist_bins_max , если установлено в ненулевое значение, заполняет буфер гистограммы в каждом объект blob с проекцией y_histogram всех строк в объекте. Этот value затем устанавливает количество интервалов для этой проекции.

    Не поддерживается для сжатых образов или байеровских образов.

    FotoForensics — Скрытые пиксели

    Графические приложения не всегда отображают каждый пиксель изображения. Это обычное явление для изображений, использующих прозрачность (альфа-канал , ) и с обрезкой JPEG.Хотя скрытые пиксели не отображаются при рендеринге изображения, они по-прежнему содержат значения цвета.

    В разных приложениях используются разные подходы к управлению цветами в неотображаемых областях. Это влияет на цвета, хранящиеся в скрытых пикселях. Эти разные подходы можно идентифицировать и сопоставить с разными типами приложений.

    Когда изображения отображаются на экране компьютера, цвета создаются путем объединения красного, зеленого и синего компонентов. Эти три цветовые плоскости называются каналами ; в канале красного цвета хранятся все значения интенсивности красного, в канале зеленого — интенсивности зеленого, а в синем — интенсивности синего.Обычно это пишется как «RGB».

    Изображения не ограничиваются тремя цветовыми каналами. Четвертый канал, называемый альфа (обозначается буквой «A»), может быть объединен для определения уровня прозрачности. Результирующее изображение RGBA определяет видимые цвета и степень прозрачности.

    Для большинства форматов изображений альфа-канал либо логический, либо значение от 0% до 100% (или от 0 до 255 в байтовых значениях). При масштабированном значении 0% (черный) обозначает место на изображении, где должна быть полная прозрачность — значение RGB игнорируется, и фон полностью виден.Значение альфа-канала 100% (белый) означает, что значение RGB полностью непрозрачно (непрозрачно). Промежуточные значения определяют, какая часть фона должна быть смешана со значением RGB пикселя.

    • Альфа-значения градиента обычно используются для наложения наложенного изображения на другое изображение или на веб-страницу. Например, баннер FotoForensics в верхней части этой страницы использует прозрачный фон, чтобы логотип плавно сочетался с веб-страницей. Если фон веб-страницы меняет цвет, то изображение не нужно воссоздавать, чтобы оно было наложено на страницу.Альфа-каналы градиента поддерживаются файлами PNG, а также WebP, ICO, ICN и другими форматами файлов растровых изображений.
    • Логические альфа-каналы используют только значения непрозрачности 0% и 100%. (Пиксель либо прозрачный, либо нет.) Хотя это не позволяет плавное наложение вдоль границ, оно позволяет прозрачность. GIF поддерживает только логический альфа-канал.
    Следующие примеры изображений демонстрируют использование альфа-канала градиента.
    В каждом из этих образцов изображений RGBA присутствует полный набор полос из изображения RGB.При удалении альфа-канала открывается исходное изображение RGB. Когда альфа-канал идентифицирует пиксель, который полностью или частично непрозрачен, значение RGB для пикселя остается важным для рендеринга изображения. Однако, если пиксель полностью прозрачен, сохраненное значение RGB становится неважным. Удаление альфа-канала позволяет просматривать скрытые цвета пикселей.

    Цвета, назначаемые скрытым пикселям, зависят от приложения и выполняемой операции. Например:

    Фон
    Цвет RGB по умолчанию для прозрачного фона.
    По умолчанию GIMP использует черный фон. Однако фоновое содержимое по умолчанию зависит от версии GIMP.

    GIMP 2.6.9 и более ранние версии: если изображение было открыто как RGB и затем был добавлен прозрачный слой, фоновый узор по умолчанию будет соответствовать изображению RGB на момент добавления прозрачности.

    GIMP 2.6.10 и новее: при сохранении PNG отображается меню, в котором есть опция «Сохранить цвет фона». Эта опция установит для скрытых пикселей любой цвет фона, выбранный во время сохранения.Это может привести к получению однотонного фона, который не будет ни черным, ни белым.

    Цвет фона по умолчанию — белый.
    Без изменений
    Загрузка изображения RGBA и его сохранение без каких-либо дополнительных изменений.
    Значения RGBA остаются без изменений. Adobe может применить цветовой профиль, в результате чего все значения RGB немного изменятся. Однако альфа-канал и скрытые значения RGB останутся неизменными.
    Стирание
    Использование ластика для удаления цвета установит значения альфа-канала на 0%.Если используется «растушевка», то область между непрозрачной и прозрачной частями изображения будет градиентом (значение от 1% до 99%).
    В GIMP 2.6.9 и ранее значения RGB остаются неизменными. Изменен только альфа-канал.

    В GIMP 2.6.10 и более поздних версиях для значений RGB устанавливается черный цвет.

    Цвета RGB, замаскированные альфа-каналом, будут установлены на белый.
    Рисование линий
    Рисование кривых и линий на изображении RGBA.
    Устанавливаются только видимые значения RGB. Маскированные значения RGB останутся без изменений.

    Без альфа-канала плавные кривые все равно будут отображаться как плавные кривые. Если края сливаются с фоном, то альфа-канал будет следовать плавным кривым.

    Устанавливаются видимые значения RGB. Значения RGB в масках либо останутся неизменными, либо выбранная область будет заполнена черным цветом.

    Без альфа-канала линии будут выглядеть неровными и неровными. Adobe использует альфа-канал для сглаживания кривых и смешивания краев с фоном.

    Заливка и выделенные области
    Заливка выбранных областей на изображении RGBA.
    Устанавливаются только видимые значения RGB. Маскированные значения RGB останутся без изменений. Устанавливаются видимые значения RGB. Однако прозрачные области за пределами выбранной области будут иметь измененные значения RGB, соответствующие шаблону заливки. Обычно это проявляется в виде горизонтальных или вертикальных цветов, растянутых от последнего видимого цвета пикселя. Если используется узор с заливкой, то узор повторяется за пределами видимой области.
    Маски выбора
    Графические редакторы, поддерживающие слои, часто позволяют использовать один слой в качестве маски для другого слоя. Части за пределами маски скрыты альфа-каналом.
    Устанавливаются только видимые значения RGB. Маскированные значения RGB останутся без изменений. Устанавливаются видимые значения RGB. Прозрачные области за пределами выбранной маски содержат изображение без маски.
    Текст
    Текстовые символы можно вводить на изображение.
    Устанавливаются только видимые значения RGB. Маскированные значения RGB останутся без изменений. Устанавливаются видимые значения RGB. Выделенная область, содержащая текст, заполняется цветом текста. Прозрачная ограничивающая рамка, содержащая текст, будет иметь тот же цвет RGB, что и текст.

    В частности: Adobe заполняет область, содержащую текст, цветом, а затем использует альфа-канал для маскировки нетекстовых пикселей. (Подобно тому, как трафарет используется для рисования знака.)

    Если перекрашивается весь текст, то ограничивающая рамка заполняется новым цветом.

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

    Слои визуализации
    Расширенные графические редакторы поддерживают слои рисования, которые объединяются для формирования окончательного результата. То, как они объединяются, может повлиять на содержимое скрытых пикселей.
    Поскольку скрытые значения RGB обычно черные, порядок слоев не влияет на скрытые значения RGB. Единственный способ определить порядок слоев или действий рисования — это искать перекрывающееся содержимое. Adobe, похоже, комбинирует значения RGB из прозрачных областей на основе порядка слоев. Нижние слои добавляются первыми и верхние слои перезаписывают прозрачность нижних слоев. В компьютерной графике такой подход к перезаписи называется «алгоритмом художника» и позволяет определять порядок слоев.В частности: если цвет скрытых пикселей соответствует компоненту на изображении, то этот компонент находится на верхнем уровне. И если окраска скрытых пикселей из одного компонента перезаписывает окраску скрытых пикселей из другого компонента, тогда это показывает, что перезапись происходит из верхнего слоя.

    Adobe Photoshop позволяет использовать слои в качестве масок для других слоев. Это может привести к частичному слиянию различного содержимого скрытых областей.

    Другие операции
    Это , а не полный список операций, выполняемых обычными графическими редакторами.Например, большинство графических программ могут вырезать и вставлять выбранные области, преобразовывать между растровым изображением и векторной графикой, а также выполнять операции перекоса или масштабирования.
    Как правило, GIMP изменяет только видимые пиксели. Скрытые области остаются без изменений. Плавные кривые, переходящие в фон, по-прежнему будут отображаться как плавные кривые. Как правило, Adobe либо размывает цвета в прозрачных областях, либо заполняет скрытые области черным или белым цветом. Кривые, которые переходят в фон, зависят от альфа-канала для формирования и сглаживания; удаление альфа-канала покажет неровные неровные края.

    Есть много других типов приложений для рисования, которые поддерживают PNG и прозрачность. В разных приложениях используются разные методы обработки. Например:
    Facebook и Instagram Устанавливает новый контент в черный цвет, но стирание на фотографиях изменяет только альфа-канал, а не значения RGB. Например, стирание углов фотографии для округления изображений сохранит значения RGB углов.
    Службы Google
    включают рисунков Google, (часть онлайн-службы Google Docs) и PicMonkey
    Всегда стирает все скрытые пиксели до черного.
    ImageMagick Эта программа обычно используется для изменения размера изображений, удаления метаданных и преобразования форматов изображений.

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

    Microsoft Office Все скрытые пиксели окрашены в серый цвет (цвет # 818181 или [129,129,129]). Как и в случае с Adobe, текст и края без альфа-канала выглядят неровными; альфа-канал обеспечивает плавное сглаживание.
    Paint.NET Устанавливает белый цвет для скрытых пикселей. Видимые области не выглядят неровными без альфа-канала.

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

    Inkscape Устанавливает белый цвет для скрытых пикселей. В целом это похоже на Paint.NET, за исключением того, что без альфа-канала края выглядят неровными.

    Как и Paint.NET, Inkscape обычно используется для редактирования PNG, созданных другими приложениями. Inkscape устанавливает для всех новых скрытых пикселей значение белого цвета, но неизмененные скрытые пиксели остаются неизменными.

    Adobe Photoshop Mix У Adobe есть большая линейка продуктов, которая содержит много похожих названий.«Adobe Photoshop» — это приложение для настольных ПК, а «Adobe Photoshop Mix» — для мобильных устройств. Adobe Photoshop Mix устанавливает все скрытые пиксели в черный цвет. В общем, использование скрытых пикселей неотличимо от сервисов Google.

    Хотя может быть невозможно отличить PNG, созданный с помощью Gimp, от Facebook или PicMonkey, этот метод может отличить PNG, созданные продуктами Adobe Photoshop или Microsoft, от других продуктов. И в некоторых ситуациях он может отличить «возможно, GIMP» от приложений, не относящихся к GIMP.

    Предупреждения

    В разных приложениях прозрачность обрабатывается по-разному.
    • В этом руководстве рассматриваются только несколько приложений (GIMP, Adobe Photoshop, Facebook и т. Д.). Другие приложения могут использовать аналогичные подходы к этим или могут использовать другие подходы для управления скрытыми значениями RGB.
    • Комбинирование инструментов рисования, таких как использование GIMP для создания PNG и Adobe для редактирования PNG, может привести к смешению скрытых подписей RGB.
    • Многие редакторы PNG сохраняют метаданные. Даже если в метаданных указано, что изображение было отредактировано PicMonkey, Gimp или Adobe Photoshop, оно все равно могло быть отредактировано или сохранено в последний раз другой программой (например.g., Paint.NET или ImageMagick). Если метаданные не подтверждаются атрибутами скрытых пикселей, то изображение, вероятно, было отредактировано и / или повторно сохранено вторым приложением.
    Просмотр пикселей, скрытых альфа-каналом, позволяет идентифицировать только один аспект изображения. Интерпретация результатов может быть неубедительной. Важно подтверждать результаты с помощью других методов и алгоритмов анализа. Файлы PNG могут содержать заполнение в виде неиспользуемых строк и данных пост-рендеринга.

    Неиспользуемые колонны

    Изображения PNG могут хранить диапазон битовой глубины:
    • 8-битная глубина является наиболее распространенной и использует 1 байт для каждого цветового канала (3 байта для красного, зеленого и синего или 4 байта для RGBA при использовании альфа-канала). В этом случае используется каждый байт в каждой строке данных.
    • 16-битная глубина сохраняет более широкий цветовой диапазон (но большинство мониторов могут отображать только 8-битную глубину). RGB использует 6 байтов, а RGBA использует 8 байтов. Опять же, используется каждый байт в каждой строке данных.
    • Однако PNG также поддерживает 1, 2 и 4-битную глубину, когда один байт содержит несколько цветовых компонентов.В этом случае последний байт в строке может содержать биты, которые не используются при рендеринге столбца. Эти данные обычно скрыты в неотображаемых столбцах.
    При использовании изображения PNG с низкой глубиной (с 1, 2 или 4 битами на компонент цвета) последний столбец может быть скрыт. Например, 4-битная глубина может включать один скрытый столбец. 2-битная глубина допускает до 3 скрытых столбцов, а 1-битная глубина (монохромный) допускает до 7 скрытых столбцов.

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

    Отступы после рендеринга

    Файлы PNG поддерживают метод усечения, который часто встречается в стеганографических головоломках и задачах. По сути, вы можете скрыть нижнюю часть изображения PNG.
    1. Создайте высокое изображение. Скройте свой контент в нижней части изображения.
    2. Сохраните изображение как PNG. PNG допускает различные типы параметров кодирования. Выберите вариант без чересстрочной развертки.
    3. После сохранения файла PNG используйте шестнадцатеричный редактор, чтобы изменить высоту изображения.(Он хранится в блоке IHDR, который обычно находится рядом с началом файла. После IHDR следует 4-байтовая ширина и 4-байтовая высота.) Установите меньшее значение высоты.
    Когда библиотека PNG отображает изображение, она декодирует все сжатые данные (блоки IDAT). Эти декодированные данные содержат каждое из значений RGB в растре (слева направо, сверху вниз). Когда библиотека достигает конца размера изображения (ширина × высота), она останавливает рендеринг — даже если есть дополнительные распакованные байты.В результате содержимое внизу PNG скрыто.

    Анализатор «Скрытых пикселей» FotoForensics проверяет, соответствует ли количество отсутствующих данных одной или нескольким дополнительным строкам содержимого изображения. Когда это видно, отображаются дополнительные строки.

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


    Хотя эту технику можно использовать, когда люди хотят быстро обрезать нижнюю часть PNG, она почти исключительно используется в различных стеганографических задачах, головоломках и играх по геокэшингу и «захвату флага».

    Ограничения заполнения PNG

    У этих методов заполнения есть несколько ограничений:
    • Переплетение . PNG поддерживает метод чересстрочного кодирования под названием «Adam7». В файлах PNG без чересстрочной развертки любое количество строк в нижней части PNG может быть скрыто. С помощью Adam7 можно скрыть только 1 строку, и это должна быть строка с четным номером. В противном случае шаблон чересстрочной развертки смещается, и изображение искажается.
    • Вертикальный . PNG сохраняет все пиксели слева направо, а затем сверху вниз.Изменение ширины PNG приведет к перекосу изображения. Единственный раз, когда это не так, — это изображения с низкой битовой глубиной, и даже тогда существует ограниченное количество столбцов, которые можно скрыть.
    • Неизображение . Могут быть сохранены любые данные. Любые данные могут быть сохранены в низкоразрядном горизонтальном заполнении и после данных последнего пикселя. Если после данных последнего пикселя имеется достаточно дополнительных байтов, то анализатор скрытых пикселей предположит, что эти байты представляют больше строк. Однако, поскольку данные можно использовать для чего угодно, хранить пиксельные данные не требуется.(Общедоступный FotoForensics обнаружил лишь несколько случаев, когда дополнительные байты содержали контент, не являющийся изображением.)
    Анализатор скрытых пикселей максимально расширит PNG, обнаружив все скрытые столбцы или строки. Алгоритм JPEG сегментирует изображение на независимые сетки 8×8. Но что произойдет, если визуализированные размеры JPEG не выровнены по сетке? Например, что, если размеры картинки 203×250? (Ни 203, ни 250 не делятся на 8.) При кодировании JPEG фактическое закодированное изображение дополняется до следующей по величине границы 8×8, а пиксели за пределами видимой области пропускаются во время рендеринга.Если изображение имеет размер 203×250, то фактическое закодированное изображение будет 208×256 пикселей, а оставшиеся 5 пикселей по правому краю и 6 пикселей по нижнему краю будут опущены.

    пикселей со скрытым краем

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

    В разных системах кодирования JPEG используются разные подходы для заполнения скрытой сетки JPEG. Это включает:

    Обрезка без потерь Если большое изображение просто обрезается до меньшего размера, тогда нет причин для декодирования и повторного кодирования квантованных данных. Любые сетки за пределами обрезанной области могут быть отброшены, а любые частичные сетки сохраняются без каких-либо изменений. Эта операция называется кадрированием без потерь , потому что не требует повторного вычисления кодировки JPEG с потерями.

    При обрезке без потерь при расширении изображения до границы 8×8 будут обнаружены исходные пиксели исходного изображения, которые были растянуты до границы 8×8.

    Цифровые фотоаппараты Почти все цифровые камеры полностью заполняют сетку JPEG; по краям обычно нет скрытых пикселей. Это сделано по двум причинам. Во-первых, он увеличивает размер создаваемого изображения. (Производители фотоаппаратов могут похвастаться размером изображения.) А во-вторых, нет лишних вычислений и лишнего места.

    Некоторые цифровые камеры, включая модели Huawei, Kodak, Nokia и Sony HDR, могут создавать изображения без выравнивания по сетке. Обычно это делается для соответствия точному соотношению сторон. Эти камеры обычно заполняют оставшиеся скрытые пиксели содержимым сенсора камеры, которое обычно не видно. Расширение изображения для отображения скрытых отступов покажет дополнительные исходные пиксели с сенсора камеры.

    Однако некоторые камеры нетипичны.Например, устройства Android 5.x (например, смартфон Samsung SM-N910P) заполняют отступы в оттенках серого. (Похоже на «растянутые цвета», но с оттенками серого.) Android 4.2.x заполняет отступы случайным фрагментом изображения (кажется, что это неинициализированный, повторно используемый буфер), а прокладки GoPro Hero4 — случайными данными ( неинициализированный буфер).

    Растянутые цвета
    (Общие библиотеки)
    Стандарт JPEG (раздел A.2.4) определяет распространение последнего видимого цвета пикселя через заполненную область. Это сводит к минимуму искажения по видимому краю во время декодирования.

    Например, если в формате JPEG используются сетки 8×8, а изображение заполняет только 3 столбца в самой правой сетке, то оставшиеся 5 столбцов будут заполнены полосами, которые повторяют предыдущие видимые значения.

    Этот растянутый узор указывает на общую библиотеку кодирования JPEG, такую ​​как libjpeg, gd-jpeg или библиотека Intel JPEG (IJL).GIMP, Facebook и большинство продуктов сторонних производителей используют этот подход кодирования. В продуктах Adobe более ранних, чем CS, таких как Photoshop 7.0, также используется этот подход.

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

    Если исходные цвета — «123xxxxx» (где числа представляют определенные цвета, а «x» — пиксели, требующие заполнения), тогда он будет заполнен «12332112» или «12332123».Образец меняется на противоположный и повторяется.

    Этот реверсивный узор указывает на продукт Adobe (CS или более поздней версии). Он присутствует даже при сохранении Adobe с использованием стандартных таблиц квантования JPEG.

    Стеганография Хотя некоторые стеганографические системы крайне редки (даже среди пользователей стеганографии), они пытаются хранить данные в этих скрытых областях пикселей. Это может привести к появлению случайных узоров в скрытых отступах.
    Шифрование Шифрование отличается от стеганографии.Стеганография пытается избежать обнаружения. Шифрование пытается предотвратить понимание. Это независимые концепции; у вас может быть шифрование без стеганографии и стеганография без шифрования.

    Некоторые системы шифрования хранят данные в изображении JPEG. Это может привести к тому, что изображение будет выглядеть как случайный шум. В то время как большинство этих приложений используют стандартную библиотеку JPEG для кодирования изображения (что приводит к растянутому заполнению), некоторые инструменты, похоже, используют пользовательские библиотеки кодирования. Мы видели несколько библиотек, которые используют сплошной черный, сплошной белый или бледно-серый цвет.Мы еще не идентифицировали эти инструменты шифрования.


    Объединение инструментов анализа

    Скрытый шаблон заполнения JPEG можно комбинировать с JPEG% для определения типа библиотеки JPEG, используемой для последнего кодирования изображения. Например:
    • Многие цифровые камеры используют нестандартные таблицы квантования. Кадрирование без потерь с нестандартными таблицами квантования предполагает использование цифровой камеры.
    • Растянутый узор со стандартными таблицами квантования предлагает общую библиотеку JPEG.
    • Растянутый узор с таблицами квантования Adobe предлагает продукт Adobe до CS.
    • Перевернутый узор с таблицами квантования Adobe указывает на продукт Adobe CS.
    • Обратный шаблон со стандартными таблицами квантования указывает на продукт Adobe CS, сохраненный с использованием стандартных таблиц квантования.

    Отображаемые области

    Заполнение JPEG заставляет изображение помещаться в сетку JPEG 8×8. Если присутствует, заполнение происходит только по нижнему и правому краям.FotoForensics выделяет область заполнения при отображении скрытого заполнения JPEG.
    • FotoForensics приглушает все элементы изображения, которые не являются частью области краев с заполнением.
    • Белая линия рисуется сразу за пределами области 8×8 с заполнением, так что ее легко отличить от остальной части изображения.
    • Внутри края 8×8 с заполнением находятся 1-7 видимых пикселей, которые частично приглушены, а остальные пиксели с заполнением представлены с полной яркостью.
    Это выделение позволяет аналитику легко идентифицировать область с заполнением и определять, является ли заполнение растянутым (из стандартной библиотеки JPEG), обратным (Adobe CS или более поздней версии), без потерь (обрезанным) или случайным (стеганографическим).

    Предупреждения

    Поскольку видимая сетка JPEG ограничена максимумом 8×8 пикселей, большинство пикселей, которые любой JPEG будет скрывать, составляют 7 пикселей от правого края, 7 пикселей от нижнего края и все, кроме левого верхнего пикселя, в правом нижнем углу. сетка угла 8х8. (В сценарии с максимальным заполнением используется только один пиксель в правом нижнем углу.)
    • В то время как в лучшем случае для анализа можно добавить 7 пикселей по нижнему и правому краям, в среднем случае меньше скрытых пикселей. Менее трех пикселей может быть недостаточно для визуализации дополнительной информации.
    • Когда скрыто всего несколько пикселей, например 1 или 2 пикселя заполнения за видимым краем, может стать практически невозможно отличить растянутый заполнитель от обратного заполнения.
    • Одна строка (шириной 1 пиксель) скрытых пикселей может не содержать достаточно информации, чтобы идентифицировать какой-либо конкретный вид кодирования.
    • Край с однородной окраской (например, сплошной белый край) может не содержать достаточно информации для идентификации какого-либо конкретного типа кодирования. Это связано с тем, что результаты растяжения или изменения сплошного цвета будут идентичными.
    • Adobe CS, CS2, CS3 и т. Д. Обычно использует метод заполнения обратным узором. Однако, если JPEG имеет только 1 пиксель, то нет значений для чередования. Отступ в 1 пиксель будет выглядеть растянутым даже при использовании системы отступов с перевернутым узором.
    • Большинство изображений с цифровых камер выравниваются по сетке JPEG; нет заполненных пикселей. Это связано с тем, что производители фотоаппаратов хотят уменьшить количество отходов и требуют большего размера изображения. Однако это не всегда так. Например, Samsung SCH-I545 установит соотношение сторон 16: 9, даже если это означает кодирование некоторых видимых пикселей, как если бы они были заполнением.А некоторые камеры, например Sony C6603, не работают по одной.
    Просмотр скрытых пикселей вдоль обрезанного края JPEG позволяет идентифицировать только один аспект изображения. Интерпретация результатов может быть неубедительной. Важно подтверждать результаты с помощью других методов и алгоритмов анализа.

    Примеры изображений

    Следующие примеры демонстрируют, как оценивать изображения, содержащие скрытые пиксели.

    Пример PNG с прозрачностью

    Например, баннер FotoForensics был создан с помощью Adobe Photoshop CS5.Он содержит альфа-канал, рисунок (объектив камеры), текст, изображение отпечатка пальца.
    Без альфа-канала мы можем увидеть:
    • Круглый логотип (рисунок) растягивается, чтобы заполнить квадратную область, изначально выбранную для создания линзы. Это указывает на рисунок, созданный с помощью продукта Adobe, поскольку только продукты Adobe растягивают цвета для заполнения скрытых областей.
    • Различные скрытые области пикселей заменяют другие скрытые области пикселей.Это означает, что рисунок был создан послойно. Каждый регион обозначает отдельный слой.
      • Основной текст серый и немного больше видимого размера текста. Части цвета текста, скрытые слоем прозрачности, грубые и неровные. Это согласуется с продуктом Adobe, потому что Adobe использует альфа-канал, чтобы помочь сформировать видимый текст.
      • Ограничивающая рамка, содержащая серый текст, черная. Это означает, что часть текста была выборочно перекрашена.Однако он не определяет, какая часть серого текста была перекрашена. (Хотя это и не определено по этому изображению, «sic» было перекрашено перед тем, как смешать его с отпечатком пальца.)
      • Изображение отпечатка пальца видно за пределами замаскированной области. Он находится на более высоком уровне, чем текст, потому что он перезаписывает черный фон текста. Однако отпечаток пальца кажется объединенным с текстом, потому что крайние левый и правый угол отпечатка пальца не перезаписывают черную полосу. (Adobe Photoshop допускает сложные эффекты слоя и комбинации масок слоя.)
      • Линза находится на более низком уровне, чем текст. Это определяется тем, что небольшой черный треугольный зазор между «Fo» и «toF» перекрывает растянутую часть линзы.
      • Красный фон «Лаборатория» и синий «Демо» заменяют линзу и серые текстовые области. Это означает, что Lab и Demo находятся на более высоких уровнях, чем серый текст и линза.

      Идентифицированные слои снизу вверх: линза, серый текст, эффект отпечатка пальца поверх «sic», «Lab» и «Demo».Однако отпечаток пальца, лаборатория и демонстрация не перекрываются, поэтому мы не можем определить, какой из этих трех элементов находится на верхнем уровне.
    • Оставшаяся прозрачная область за пределами текстового поля содержит белые значения RGB. Это соответствует приложению Adobe.
    Это конкретное изображение не содержит каких-либо метаданных, определяющих, как оно было создано. Однако, исходя из этих наблюдений, скрытые артефакты, видимые в этом PNG, соответствуют приложению Adobe. Более того, они несовместимы с Gimp, PicMonkey, Google Drawings и другими приложениями.Например, если это изображение было создано с помощью GIMP, скрытые пиксели должны быть полностью черными, за исключением изображения отпечатка пальца, которое может быть скрыто альфа-слоем.

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

    Заполнение JPEG

    Следующие изображения, измененные цифровым способом, содержат скрытые отступы. Особенности

    Floodfill — обновления — Зона разработчика

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

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

    Первое: насколько медленно слишком медленно? Полсекунды? Одну секунду? Сложная проблема заключается в том, чтобы избежать запуска диалога, когда время, оставшееся для заливки, слишком мало, чтобы даже среагировать на него — это невозможно определить с уверенностью, за исключением стадии компоновки (финальной) (с разумными пределами погрешности). . Хотя это и безобидно, появление диалогового окна может раздражать.

    Во-вторых: должна ли отмененная заливка , а не , запускаемая с помощью команды повтора, повлиять на стек повтора? Ясно, что такую ​​заливку не следует добавлять в стек отмены — отменять нечего, стек повтора — это отдельная проблема.Крита очищает стек повторов даже для отмененных операций. Это не обязательно, но, возможно, ожидается?

    Варианты здесь (для отмененного, без повторного выполнения, заполнения):
    1: Очистить стек повтора и ничего с ним не делать
    2: Не трогать стек повтора, если вы достигли этой точки, отменив группу изменений, вы все равно можете повторить их, если отмените операцию.
    3: Очистите стек повтора и поместите в него отмененную операцию — это может иметь смысл, если вы случайно отменили длительную операцию, но заливку все равно придется переделывать после выполнения «повтора».

    Лично я предпочитаю 1 за последовательность, но меня интересуют другие мысли.

    И, наконец, более техническое примечание: Нужен ли еще аварийный выход с помощью клавиши Escape, и если да, можно ли переключить его на нажатие клавиши вместо отпускания? Эта функция была добавлена ​​более десяти лет назад, поэтому я не надеюсь, что кто-то знает все подробности ее добавления, но проблема в том, что если вы нажмете escape, чтобы отменить заливку, и не отпустите клавишу перед заливкой Отмена выполнена, последующий выпуск запускает аварийный выход, который с точки зрения пользователей был бы просто переключением в обычный режим кисти, о котором они не просили.

    Перемещение его в обратный вызов для прессы позволит избежать этой проблемы. Я могу понять, почему это было записано в релиз (для удобства), но нет причин, по которым его нельзя переместить в печать с некоторыми корректировками.

    Базовое руководство по инструментам Adobe Fresco: упрощенное приложение для рисования

    Источник: Ребекка Спир / iMore

    Если вы только что скачали Adobe Fresco для своего планшета и хотите узнать, как его использовать, у нас есть все необходимое. Несмотря на то, что это очень упрощенное приложение для рисования, все же есть кривая обучения, особенно если вы еще не знакомы с программами для рисования.Вот все основные инструменты Adobe Fresco и их назначение.

    Руководство по основным инструментам Adobe Fresco

    Слои

    Работа со слоями позволяет вам вносить изменения в один раздел вашей работы, не затрагивая другие. Это дает вам полный контроль над тем, чтобы ваши проекты выглядели именно так, как вы хотите.

    Жесты и ярлыки

    Источник: Ребекка Спир / iMore

    В Adobe Fresco встроено несколько ярлыков, которые делают рисование и раскрашивание более удобным.Вот самые важные из них и то, что они делают.

    VPN-предложения: пожизненная лицензия за 16 долларов, ежемесячные планы за 1 доллар и более

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

    Цветные инструменты

    Кисти и ластик

    В Adobe Fresco есть три вида кистей: пиксельные, живые и векторные. Пиксельные кисти — это базовые растровые кисти. Живые кисти воспроизводят движение и поток масла и воды, чтобы выглядеть более реалистично. Векторные кисти состоят из прямых или изогнутых линий для создания плавных мазков. Эти три инструмента кисти занимают первые три позиции в верхней части панели инструментов.

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

    Пиксельная кисть

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

    Источник: Ребекка Спир / iMore

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

    Инструмент настройки кисти — это то, где все становится действительно техническим. Поскольку это базовое руководство, мы не будем вдаваться в подробности. Достаточно сказать, что это позволяет вам лучше контролировать внешний вид мазков кисти.

    Живая щетка

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

    Источник: Ребекка Спир / iMore

    После того, как живая кисть выбрана, вы можете выбрать ее размер, поток и поток воды.Каждая из этих вещей влияет на то, как она выглядит при применении к слою. Размер определяет размер кисти. Поток определяет, как быстро краска ложится, когда вы делаете мазок, а поток воды определяет, сколько воды находится на вашей кисти.

    Инструмент настройки кисти — это то, где все становится действительно техническим. Поскольку это базовое руководство, мы не будем вдаваться в подробности. Достаточно сказать, что это позволяет вам лучше контролировать внешний вид мазков кисти.

    Векторная кисть

    Если вы быстро нажмете на эту кнопку, вы переключитесь на этот инструмент.Коснитесь его еще раз, и появится меню со всеми доступными векторными кистями. Каждая векторная кисть создает отдельную панель инструментов для эффектов, поэтому вы захотите протестировать их все. Если вы пометите какие-либо кисти, вы сможете просмотреть их на вкладке «Избранное».

    Источник: Ребекка Спир / iMore

    После выбора векторной кисти вы можете выбрать ее размер или сглаживание. Каждая из этих вещей влияет на то, как она выглядит при применении к слою. Размер определяет размер кисти.Сглаживание определяет, насколько программа исправляет ваши штрихи, чтобы они выглядели более плавными.

    Инструмент настройки кисти — это то, где все становится действительно техническим. Поскольку это базовое руководство, мы не будем вдаваться в подробности. Достаточно сказать, что это позволяет вам лучше контролировать внешний вид мазков кисти.

    Ластик

    Вы можете не думать о ластике как о кисти, но в программах для рисования он работает очень похоже. Если вы быстро нажмете на эту кнопку, вы переключитесь на этот инструмент.Коснитесь его еще раз, и появится меню со всеми доступными кистями ластика.

    Источник: Ребекка Спир / iMore

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

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

    Инструменты выбора

    Когда область выбрана, редактировать можно только эту область. Убедитесь, что вы находитесь на правильном слое, когда хотите сделать выбор.

    Есть четыре инструмента выделения: лассо, быстрое выделение, квадрат и круг:

    • Выбор лассо : позволяет обводить любую форму, которую вы хотите, по области и выделять все, что находится в вашей обводке.
    • Быстрый выбор : работает больше как кисть и выделяет все, к чему вы прикасаетесь.
    • Квадратный выбор : выбор только квадратной или прямоугольной формы.
    • Выбор круга : позволяет выбрать любую область в пределах круглой или овальной формы.

    Использование инструмента выбора

    Сохранение, импорт, экспорт и совместное использование

    Источник: Ребекка Спир / iMore

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

    Импорт

    1. Если вы хотите импортировать уже существующее изображение, просто коснитесь значка изображения на панели инструментов.
    2. Это позволяет вам извлекать изображений из вашей учетной записи Creative Cloud, файлов вашего планшета и ваших фотографий. Вы даже можете сделать новую фотографию и импортировать ее в Adobe Fresco.

      Источник: Ребекка Спир / iMore

    Экспорт и обмен

    1. Когда вы закончите свой проект, нажмите кнопку экспорта вверху экрана.
    2. Вы можете быстро экспортировать свой проект в виде файла изображения, выбрав Быстрый экспорт .
    3. Выберите, куда вы хотите отправить или сохранить изображение.

      Источник: Ребекка Спир / iMore
    4. Или, если вам нужны дополнительные параметры экспорта, выберите Публикация и экспорт .

      Источник: Ребекка Спир / iMore
    5. Если вы выберете Экспорт как , вы сможете решить, в каком формате экспортировать свою работу: PNG, JPG, PSD или PDF.

    6. Если вы выберете проект Behance , вы опубликуете свою работу на платформе Adobe для социальных сетей, Behance. Это место, где художники могут продемонстрировать свои работы и посмотреть работы других художников.

      Источник: Ребекка Спир / iMore
    7. Adobe Fresco записывает каждый шаг процесса создания.Если вы выберете Экспорт замедленной съемки , вы можете отправить замедленную видеосъемку своей работы по электронной почте или опубликовать ее в социальных сетях.

    Свежее до фрески

    Теперь, когда вы знаете все основные инструменты Adobe Fresco, вы можете поиграть с ними, пока не получите лучшее представление о том, как все они работают. Эта программа дает вам большую свободу для создания проектов, которые вы себе представляете, будь то пиксельные кисти, живые кисти, векторные кисти или сочетание всех трех.Удачи в творчестве!

    Рисуй как профессионал

    Adobe Fresco

    Бесплатная и простая в использовании

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

    Мы можем получать комиссию за покупки, используя наши ссылки. Учить больше.

    Warper C ++ API — документация GDAL

    Строковый список дополнительных параметров, управляющих операцией деформации в формате имя = значение.

  • INIT_DEST = [значение] или INIT_DEST = NO_DATA: эта опция заставляет целевое изображение инициализироваться указанным значением (для всех диапазонов) или указывает, что оно должно быть инициализировано значением NO_DATA в padfDstNoDataReal / padfDstNoDataImag. Если это значение не задано, целевое изображение будет прочитано и наложено.

  • WRITE_FLUSH = YES / NO: Эта опция вызывает сброс данных на диск после обработки каждого фрагмента. В некоторых случаях это помогает обеспечить последовательную запись выходных данных, в противном случае блок данных может быть записан на диск каждый раз, когда блок данных считывается для входного буфера, что приводит к большому количеству дополнительных поисков по диску и снижению пропускной способности ввода-вывода. .В настоящее время значение по умолчанию — НЕТ.

  • SKIP_NOSOURCE = YES / NO: пропустить всю обработку фрагментов, для которых нет соответствующих входных данных. Это отключит инициализацию пункта назначения (INIT_DEST) и всю остальную обработку, поэтому использовать его следует с осторожностью. В основном полезно для короткого замыкания большого количества дополнительной работы в ситуациях мозаики. Начиная с GDAL 2.4, gdalwarp автоматически включает эту опцию, если предполагается, что это безопасно.

  • UNIFIED_SRC_NODATA = YES / NO: по умолчанию значения маскировки узловых данных рассматриваются независимо для каждого диапазона.Однако иногда желательно рассматривать все диапазоны как ноданные тогда и только тогда, когда все диапазоны соответствуют соответствующим значениям ноданных. Чтобы получить такое поведение, установите для этого параметра значение ДА. Примечание: UNIFIED_SRC_NODATA = YES устанавливается по умолчанию при вызове из gdalwarp / GDALWarp ()

  • CUTLINE: Может содержать геометрию WKT для линии реза. Он будет преобразован в геометрию с помощью GDALWarpOperation :: Initialize () и назначен полю GDALWarpOptions hCutline. Координаты должны быть выражены в исходных координатах пикселя / линии.Примечание: это отличается от предположений, сделанных для опции -cutline утилиты gdalwarp!

  • CUTLINE_BLEND_DIST: Это может быть установлено с расстоянием в пикселях, которое будет назначено полю dfCutlineBlendDist в GDALWarpOptions.

  • CUTLINE_ALL_TOUCHED: по умолчанию установлено значение FALSE, но может быть установлено значение TRUE, чтобы включить режим ALL_TOUCHEd при растрировании полигонов линии пореза. Это полезно для гарантии того, что будут выбраны все пиксели, перекрывающие многоугольник линии пореза, а не только те, центральная точка которых находится внутри многоугольника.

  • OPTIMIZE_SIZE: по умолчанию установлено значение FALSE, но обычно может быть установлено значение TRUE при записи в сжатый набор данных (например, GeoTIFF с установленной опцией создания COMPRESSED) для достижения меньшего размера файла. Это достигается за счет одновременной записи данных, выровненных по полным блокам целевого набора данных, что позволяет избежать частичной записи сжатых блоков и потерянного места, когда они перезаписываются в конце файла. Однако соблюдение целевого размера блока может привести к значительному замедлению обработки некоторых конкретных повторных проекций.

  • NUM_THREADS: (GDAL> = 1.10) Может иметь числовое значение или ALL_CPUS, чтобы задать количество потоков, которые будут использоваться для распараллеливания вычислительной части деформации. Если не установлен, вычисления будут выполняться в одном потоке.

  • STREAMABLE_OUTPUT: (GDAL> = 2.0) По умолчанию используется значение FALSE, но обычно может быть установлено значение TRUE при записи в потоковый файл. Утилита gdalwarp автоматически устанавливает этот параметр при записи в / vsistdout / или именованный канал (в Unix).Этот вариант влияет на производительность при некоторых повторных прогнозах. Примечание. Выходные данные с чередованием полос в настоящее время не поддерживаются алгоритмом деформации в потоковом режиме.

  • SRC_COORD_PRECISION: (GDAL> = 2,0). Расширенные настройки. По умолчанию это 0, чтобы указать, что округление координат исходного изображения, соответствующих целевому изображению, не должно выполняться. Если больше 0 (и обычно меньше 1), это значение, выраженное в пикселях, будет использоваться для округления вычисленных координат исходного изображения.Цель этой опции — сделать результаты деформации с помощью аппроксимированного трансформатора более воспроизводимыми и нечувствительными к изменениям в размере памяти деформации. Для этого SRC_COORD_PRECISION должен быть как минимум в 10 раз больше порога ошибки. Чем выше соотношение SRC_COORD_PRECISION / error_threshold, тем выше будет производительность, поскольку точные повторные проекции должны статистически выполняться с частотой 4 * error_threshold / SRC_COORD_PRECISION.

  • SRC_ALPHA_MAX: (GDAL> = 2.НБИТС-1. В противном случае, если значение не установлено и альфа-диапазон имеет тип UInt16 (соответственно Int16), используется 65535 (или 32767). В противном случае используется 255.

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

    .

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *