Слои — Gimp: Как Создать Выделение Из Файла В Python

  • Автор темы Йцвйыуцй
  • Обновлено
  • 22, Oct 2024
  • #1

Я использую неинтерактивный режим Gimp, так как хочу обработать большое количество изображений и их масок. Для каждого файла изображения у меня есть файл изображения-маски, который состоит из 1 и 0 (1 означает, что пиксель должен быть выбран). Как мне выбрать их в Python? Я смотрю ссылку здесь. Я вижу, что есть функция под названием gimp_image_get_channels , which loads the selection from a channel. However, I don't know how to convert the mask image to a channel. I tried reading it with gimp_file_load а потом gimp_selection_load , but there are no channels found in the mask image. What am I doing wrong?

#gimp #слои #маска #выделения #python

Йцвйыуцй


Рег
15 Dec, 2011

Тем
83

Постов
218

Баллов
653
  • 26, Oct 2024
  • #2

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

 import gimpcolor

# load mask as layer
mask=pdb.gimp_file_load_layer(image,'/path/to/mask.png')
pdb.gimp_image_add_layer(image, mask,0)

# get selection
pdb.gimp_image_select_color(image, CHANNEL_OP_REPLACE, mask,gimpcolor.RGB(0,0,0))

# drop the mask layer
pdb.gimp_image_remove_layer(image,mask)
 
is your current image:

image
 

Prokpyroili32


Рег
13 Jan, 2013

Тем
57

Постов
224

Баллов
549
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно