Estoy usando el modo no interactivo de Gimp, ya que quiero procesar una gran cantidad de imágenes y sus máscaras. Para cada archivo de imagen, tengo un archivo de imagen de máscara, que consta de 1 y 0 (1 significa que se debe seleccionar el píxel). ¿Cómo los selecciono en Python? Estoy mirando la referencia aquí . Lo que veo es que hay una función llamada gimp_selection_load
, que carga la selección de un canal. Sin embargo, no sé cómo convertir la imagen de la máscara en un canal. Intenté leerlo con gimp_file_load
y luego gimp_image_get_channels
, pero no se encontraron canales en la imagen de la máscara. ¿Qué estoy haciendo mal?
La forma más sencilla es cargar su máscara como una nueva capa, hacer una selección de color y luego eliminarla. Entonces, asumiendo que esa image
es tu imagen actual:
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)
cristo vrigazov
xenoide
cristo vrigazov