[GIMP 2.8.16]
EDITADO: ver más abajo.
Hola,
Soy nuevo en Python y necesito pedirle a la comunidad que me ayude a encontrar dónde falla este código. estoy teniendo problemas Esta es la versión 1.0, siguiendo esta respuesta :
import glob
source_folder = "/home/pecesaquadros/Desktop/T/"
dest_folder = "/home/pecesaquadros/Desktop/T2/"
def auto(source_folder, dest_folder):
for filename in glob(source_folder + "/*.JPG"):
img = pdb.gimp_file_load(source_folder + filename, source_folder + filename)
pdb.gimp_image_rotate(img,0)
pdb.gimp_image_convert_grayscale(img)
drawable = pdb.gimp_image_get_active_drawable(img)
pdb.gimp_brightness_contrast(drawable, 28,100)
disp = pdb.gimp_display_new(img)
yield img
pdb.gimp_image_merge_visible_layers(img, CLIP_TO_IMAGE)
pdb.gimp_file_save(img, img.layers[0], dest_folder + filename, dest_folder + filename)
pdb.gimp_display_delete(disp)
pdb.gimp_image_delete(img) # drops the image from gimp memory
seq = auto(source_folder, dest_folder)
next(seq)
con salida, en GIMP 2.8.16 Python Console :
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "<input>", line 2, in auto
TypeError: 'module' object is not callable
Muchas gracias. Estoy seguro de que esta pregunta ayudará a muchos. Podría hacer un complemento con parámetros interesantes, disponible para todos; se llamará "Fotocopia" :)
...a continuación, estoy creando un bucle para crear un código TeX que compilará todas las imágenes en un pdf...
Gracias de nuevo,
Alabama
EDITAR
Nuevo código:
import glob
source_folder = "/home/pecesaquadros/Desktop/T/"
dest_folder = "/home/pecesaquadros/Desktop/T2/"
def auto(source_folder, dest_folder):
for filename in glob.glob(source_folder + "/*.JPG"): #blabla.JPG
img = pdb.gimp_file_load(filename,filename)
pdb.gimp_image_rotate(img,0) #Editing starts
pdb.gimp_image_convert_grayscale(img)
pdb.gimp_image_select_rectangle(img, 2, 0, 0, 1839, 600)
drawable = pdb.gimp_image_get_active_drawable(img)
pdb.gimp_brightness_contrast(drawable, 60,127)
pdb.gimp_image_select_rectangle(img, 2, 0, 600, 1839, 900)
drawable = pdb.gimp_image_get_active_drawable(img)
pdb.gimp_brightness_contrast(drawable, 32,127)
pdb.gimp_image_select_rectangle(img, 2, 0, 1500, 1839, 900)
drawable = pdb.gimp_image_get_active_drawable(img)
pdb.gimp_brightness_contrast(drawable, 14,127)
pdb.gimp_image_select_rectangle(img, 2, 0, 2400, 1839, 900)
drawable = pdb.gimp_image_get_active_drawable(img)
pdb.gimp_brightness_contrast(drawable, 0,127)
disp = pdb.gimp_display_new(img) #Editing ends
yield img #Image is displayed for me to manipulate
pdb.gimp_image_merge_visible_layers(img, CLIP_TO_IMAGE)
pdb.gimp_file_save(img, img.layers[0],filename,dest_folder + filename)
pdb.gimp_display_delete(disp)
pdb.gimp_image_delete(img)
seq = auto(source_folder, dest_folder)
next(seq) #This, and enter, to go to the next file
Resultados en:
A
B
0_0
PD: el rendimiento está en mis planes.
glob
es un módulo que contiene una glob
función, por lo que no debería ser glob(source_folder + "/*.JPG")
peroglob.glob(source_folder + "/*.JPG")
Además, si proporciona una ruta como parte del patrón a glob.glob(), la salida contendrá la ruta completa a los archivos. Dado que está volviendo a agregarle el nombre del directorio, aparece dos veces en el nombre que le da a gimp_file_load(). Así que prueba algo como:
for filename in glob.glob(source_folder + "/*.JPG"):
img = pdb.gimp_file_load(filename,filename)
gimp-display-delete
dice: Este procedimiento elimina la visualización especificada. Si esta es la última visualización restante de la imagen subyacente, la imagen también se elimina. Dado que esto se aplica a su caso, la imagen ya se elimina cuando intenta eliminarla con gimp-image-delete
.
jsbueno
yield
Statement porque esa pregunta requería una intervención manual en cada imagen. Si todo lo que desea hacer en la imagen está automatizado, puede abandonar layield
línea, así como las llamadas apdb.gimp_display_new
ypdb.gimp_display_delete
, y GIMP procesará todas sus imágenes lo más rápido posible.UNA. F. López de Quadros
UNA. F. López de Quadros
pdb.gimp_file_save(img, img.layers[0],dest_folder + filename,dest_folder + filename)
. El resultado es RuntimeError: no se pudo abrir '/home/pecesaquadros/Desktop/T2//home/pecesaquadros/Desktop/T2/P1050289.JPG' para leer: No existe tal archivo o directorio . He jugueteado con eso. Por ejemplo,pdb.gimp_file_save(img, img.layers[0],filename,dest_folder + filename)
ambospdb.gimp_file_save(img, img.layers[0],filename,filename)
permiten que el programa se ejecute pero los archivos se sobrescriben y no se guardan en dest_folder.