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

21968
last-child

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

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

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

12

9 ответов на вопрос

19
Ray

Вот что я делаю:

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

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

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

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

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

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

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

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

  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
sfsd

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

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

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

0
Mike Fitzpatrick

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

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

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

Спасибо за ответ, но это не совсем то, что мне нужно, поскольку значения rgb не будут такими же, как раньше ... я хочу узнать не саму маску слоя, а разделение между значениями rgb и прозрачностью, чтобы их можно было легко редактировать независимо. Лучший способ, который я знаю, - просто сложить МНОГО (> 1000) копий изображения друг на друга, пока даже почти полностью прозрачные пиксели не станут непрозрачными. Затем вставьте прозрачность (извлеченную вашим или другим способом) в качестве маски слоя. last-child 13 лет назад 0
Я не могу найти лучшего способа в Photoshop, чем метод наложения, который вы описываете. Однако можно сохранить изображение в прозрачном формате PNG, а затем преобразовать его в изображение PAM Netpbm с помощью Png2pam, который затем можно загрузить обратно в Photoshop и легко преобразовать альфа-канал в маску слоя. Два предостережения: (1) Pngtopam - это утилита командной строки для Linux или Windows / Cygwin, и (2) полностью прозрачные пиксели могут вести себя не так, как вы ожидаете. Если вы хотите, чтобы я объяснил процесс, пожалуйста, дайте мне знать. Mike Fitzpatrick 13 лет назад 0
0
Mike Fitzpatrick
  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
Eric

Ответ Рэя почти правильный, но, по крайней мере, в некоторых версиях фотошопа элементы, на которые он ссылается, не существуют. Вот что он, вероятно, пытался сказать (что я использую в старых версиях 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
bakedbeing

photoshop has a nice, simple solution.

Select the layer, go to Layer menu -> Layer Mask -> From Transparency.

The A (alpha) is extracted into a greyscale mask and your layer is now opaque (RGB). Disable the mask to see it.

Apply the mask to combine the A with the RGB again.

-1
visign3d

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

Можете ли вы объяснить, как это сделать? Пожалуйста, не отвечайте в комментариях; [отредактируйте] ваш ответ, чтобы сделать его более понятным и полным. Scott 5 лет назад 0

Похожие вопросы