Извлечение прозрачности слоя в редактируемую маску слоя в Photoshop

12

Есть ли какой-нибудь простой способ извлечь «запеченную» прозрачность в слое и превратить ее в маску слоя в Photoshop? Возьмем простой пример. Допустим, я рисую несколько штрихов полупрозрачной кистью или вставляю в .png-файл альфа-канал. Цветовые значения rgb и альфа-значение для каждого пикселя теперь содержатся в самом слое-изображении. Я хотел бы иметь возможность редактировать альфа-значения в качестве маски слоя, чтобы изображение слоя было сплошным и содержало только значения RGB для каждого пикселя.

Возможно ли это, и в таком случае как? Благодарю.

РЕДАКТИРОВАТЬ: Чтобы уточнить - я на самом деле не после значений прозрачности сами по себе, но в разделении значений RGB и альфа-значения. Это означает, что слой должен стать сплошным, непрозрачным изображением с маской.

последний ребенок
источник

Ответы:

19

Это то чем я занимаюсь:

  1. Выберите слой с прозрачностью
  2. Нажмите на пункт меню Слой, Маска слоя, Из прозрачности.

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

РЕДАКТИРОВАТЬ: в Photoshop CS5 или более поздней версии .

луч
источник
К какой версии Photoshop это относится? Я на CS4, но не вижу этого варианта.
DuckMaestro
1
И это работает почти так же, как в Gimp
Михаэль Витрант
Работал для меня в Photoshop CS6
macek
+1 Вы также можете отключить маску слоя, чтобы редактировать базовый слой без какой-либо прозрачности, а затем снова включить его. (Вы также можете отменить привязку маски при редактировании базового слоя.) Все эти команды находятся в подменю Layer Mask.
devios1
@ MichaëlWitrant проголосовал за то, что ты назвал его "Gimp"
TKoL
2

Я улучшил решение Майка (Photoshop CS3):

  1. Откройте / создайте свое изображение с прозрачностью «запеченный в».
  2. Щелкните правой кнопкой мыши значок слоя в окне «Слои» и выберите «Выбрать пиксели».
  3. Меню Layer -> Duplicate Layer
  4. Меню Layer -> Merge Visible
  5. Повторите шаги 3 и 4 несколько раз, пока не появятся полупрозрачные пиксели. Выбор выбора все еще должен остаться.
  6. Меню слоя -> Свести изображение. Вы должны увидеть, как прозрачность исчезла. Выбор выбора все еще должен остаться.
  7. Щелкните правой кнопкой мыши слой в окне «Слои» и выберите «Слой из фона».
  8. Меню слоя -> Маска слоя -> Показать выделение
  9. Готово :-)
MarekJ47
источник
1

** РЕДАКТИРОВАТЬ - Неважно, теперь я вижу, что это не лучше, чем первый ответ. **

Это можно сделать в фотошопе.

  1. Дубликат изображения
  2. Меню> Image> Adjustments> Curves
  3. Возьмите верхний правый угол кривой и перетащите его в правый нижний угол. Ввод 255 должен прочитать вывод 0. Это инверсия вашей маски прозрачности. Нажмите "ОК"
  4. Меню> Image> Mode> Grayscale
  5. Свести изображение.
  6. Инвертировать изображение. Это твоя маска.
  7. Выбрать все
  8. Копировать.
  9. Вернитесь к исходному изображению.
  10. Свести изображение
  11. Разблокировать фон
  12. Меню> Слой> Маска слоя> Показать все
  13. Переключитесь на палитру новых каналов и выберите новый канал маски.
  14. Нажмите «глаз», чтобы включить вид маски.
  15. Вставить
  16. щелкните глаз, чтобы снова отключить вид маски
  17. снова выберите канал RGB.

Готово!

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

Том Инглинг
источник
1

Более простой способ:

  1. Создайте наложение белого цвета на слой изображения
  2. Создайте черный слой под изображением

И теперь это должно работать!

sfsd
источник
0

Хорошо, я не уверен, что это именно то, что вы ищете, но это кажется близким.

  • Откройте / создайте свое изображение с прозрачностью «запеченный в».
  • Щелкните правой кнопкой мыши значок слоя в окне «Слои» и выберите «Выбрать пиксели».
  • Меню слоя -> Свести изображение. Вы должны увидеть увеличение интенсивности цвета и исчезновение прозрачности. Выбор выбора все еще должен остаться.
  • Щелкните правой кнопкой мыши слой в окне «Слои» и выберите «Слой из фона».
  • Меню слоя -> Маска слоя -> Показать выделение

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

Майк Фицпатрик
источник
Спасибо за ответ, но это не совсем то, что мне нужно, так как значения rgb не будут такими же, как раньше ... то, что я хочу, это не маска слоя в нем, а разделение между значениями rgb и прозрачностью, чтобы их можно было легко редактировать независимо. Лучший способ, который я знаю, - просто сложить МНОГО (> 1000) копий изображения друг на друга, пока даже почти полностью прозрачные пиксели не станут непрозрачными. Затем вставьте прозрачность (извлеченную вашим или другим способом) в качестве маски слоя.
последний ребенок
Я не могу найти лучшего способа в Photoshop, чем метод наложения, который вы описываете. Однако можно сохранить изображение в прозрачном формате PNG, а затем преобразовать его в изображение PAM Netpbm с помощью Png2pam, который затем можно загрузить обратно в Photoshop, и вы можете легко преобразовать альфа-канал в маску слоя. Два предостережения: (1) Pngtopam - это утилита командной строки для Linux или Windows / Cygwin, и (2) полностью прозрачные пиксели могут вести себя не так, как вы ожидаете. Если вы хотите, чтобы я объяснил процесс, пожалуйста, дайте мне знать.
Майк Фицпатрик
0
  1. Убедитесь, что у вас установлены утилиты командной строки Netpbm. Для Windows вам нужно установить Cygwin, а затем выбрать / установить netpbmпакет. Для Ubuntu вы можете установить его с помощью команды:sudo apt-get install netpbm
  2. В Фотошопе (или аналогичном) конвертируйте ваше изображение в файл PNG с 24-битным цветом и прозрачностью и сохраняйте как inputfile .png
  3. В командной строке выполните следующую команду

    pngtopam -alphapam inputfile .png> выходной файл .pam
    

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

  5. Преобразовать фон в слой (меню Layer -> New -> Layer from Background)
  6. Создайте выделение из альфа-канала (выберите «Меню» -> «Загрузить выделение» и выберите «Альфа-1» в качестве канала)
  7. Преобразовать выделение в маску слоя (меню «Слой» -> Маска слоя -> Показать выделение)

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

Если для вас возникают проблемы с короткими границами «чистого» цвета, вы можете улучшить их, выбрав маску слоя и применив настройку порога (порог = 2 или 1, если вы предпочитаете). После этого сгладьте изображение и повторите шаги 5, 6 и 7.

И если бы кто-то мог показать мне, как сделать все это в Photoshop, я был бы очень рад узнать, как это сделать.

Майк Фицпатрик
источник
0

Ответ Рэя почти правильный, но, по крайней мере, в некоторых версиях фотошопа элементы, на которые он ссылается, не существуют. Вот что он, вероятно, пытался сказать (что я использую в старых версиях 5.0.2):

  1. В палитре «Слои» щелкните правой кнопкой мыши (Windows) или удерживайте нажатой клавишу «Control» (Mac) на миниатюре нужного слоя.
  2. В появившемся контекстном меню выберите «Выбрать прозрачность слоя».
  3. Теперь у вас есть альфа-прозрачность слоя как выделение, также называемое «Быстрая маска».

Чтобы превратить эту быструю маску в редактируемую маску для слоя:

  1. Если маски слоев отключены, выберите слой в палитре «Слои», откройте меню «Слой», откройте подменю «Добавить маску слоя» и выберите «Показать все».
  2. Удерживая клавишу «Alt» (Windows) / «Option» (Mac), уменьшенное изображение маски слоя (вероятно, будет включена одна пустая маска)
  3. Используя выделение, созданное вами ранее из прозрачности слоя, откройте меню «Правка», выберите «Заливка», используйте черный с непрозрачностью 100% и нажмите «ОК».
  4. Теперь у вас будет дубликат исходной прозрачности слоя в виде редактируемой маски, которая работает в дополнение к исходной прозрачности слоя (если вы хотите оставить пустое пространство или что-то позади, чтобы только редактируемая маска отображалась над нижними слоями, сохраните исходную прозрачность слоя в свободном канале или чем-то еще, объедините слой в непрозрачный белый / любой другой слой, а затем поместите исходную прозрачность обратно в редактируемую маску слоя.) Эта маска может манипулировать прозрачностью слоя или применяться к ней различными способами, как подробно описано в разделе «Использование масок слоев» встроенной справочной системы Photoshop.

Чтобы вместо этого превратить быструю маску в обычный альфа-канал:

  1. Редактируйте в режиме быстрой маски, нажимая клавишу «q» или нажимая кнопку с кружком в квадрате на палитре / панели «Инструменты».
  2. В палитре «Каналы» (где должен быть выбран только канал «Быстрая маска») откройте меню палитры и выберите «Дублировать канал…».
  3. Его имя обычно неважно, но вам может потребоваться дать ему определенное имя. Вы также можете инвертировать его, в зависимости от того, какой тип альфа-канала вы хотите. В любом случае, нажмите «ОК».
  4. Теперь у вас есть прозрачность слоя как альфа-канал.
Эрик
источник
0

У фотошопа есть хорошее, простое решение.

Выберите слой, перейдите в меню «Слой» -> Маска слоя -> Из прозрачности.

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

Примените маску, чтобы снова объединить A с RGB.

bakedbeing
источник
-1

Используйте уровни. Поверните уровни вывода от 0 до 255. Добавьте черный backlayer.

visign3d
источник
Можете ли вы объяснить, как это сделать? Пожалуйста, не отвечайте в комментариях; отредактируйте свой ответ, чтобы сделать его более понятным и полным.
Скотт