[GIMP 2.8.16]
BEARBEITET: Siehe unten.
Hi,
Ich bin neu in Python und muss die Community bitten, mir zu helfen, herauszufinden, wo dieser Code fehlschlägt. Ich habe Probleme. Dies ist Version 1.0, nach dieser Antwort :
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)
mit Ausgabe in 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
Danke vielmals. Ich bin sicher, diese Frage wird vielen helfen. Ich könnte daraus ein Plugin mit interessanten Parametern machen, das für jeden verfügbar ist; es wird "Fotokopie" heißen :)
... als nächstes erstelle ich eine Schleife, um einen TeX-Code zu erstellen, der alle Bilder in ein PDF kompiliert ...
Danke noch einmal,
Al
BEARBEITEN
Neuer Code:
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
Ergebnisse in:
EIN
B
0_0
PS: Ausbeute ist in meinen Plänen.
glob
ist ein Modul, das eine glob
Funktion enthält, das sollte glob(source_folder + "/*.JPG")
aber nicht seinglob.glob(source_folder + "/*.JPG")
Wenn Sie glob.glob() einen Pfad als Teil des Musters übergeben, enthält die Ausgabe außerdem den vollständigen Pfad zu den Dateien. Da Sie den Verzeichnisnamen erneut hinzufügen, erscheint er zweimal in dem Namen, den Sie gimp_file_load() geben. Versuchen Sie also etwas wie:
for filename in glob.glob(source_folder + "/*.JPG"):
img = pdb.gimp_file_load(filename,filename)
gimp-display-delete
sagt: Diese Prozedur entfernt die angegebene Anzeige. Wenn dies die letzte verbleibende Anzeige für das zugrunde liegende Bild ist, dann wird das Bild ebenfalls gelöscht. Da dies auf Ihren Fall zutrifft, wird das Bild bereits gelöscht, wenn Sie versuchen, es mit zu löschen gimp-image-delete
.
jsbueno
yield
, da diese Frage einen manuellen Eingriff in jedes Bild erforderte. Wenn alles, was Sie im Bild tun möchten, automatisiert ist, können Sie dieyield
Zeile sowie die Aufrufe vonpdb.gimp_display_new
und fallen lassenpdb.gimp_display_delete
- und GIMP verarbeitet alle Ihre Bilder so schnell wie möglich.A. F. Lopez de Quadros
A. F. Lopez de Quadros
pdb.gimp_file_save(img, img.layers[0],dest_folder + filename,dest_folder + filename)
. Ausgabe ist Laufzeitfehler: „/home/pecesaquadros/Desktop/T2//home/pecesaquadros/Desktop/T2/P1050289.JPG“ konnte nicht zum Lesen geöffnet werden: Keine solche Datei oder kein solches Verzeichnis . Ich habe damit rumgespielt. Zum Beispielpdb.gimp_file_save(img, img.layers[0],filename,dest_folder + filename)
undpdb.gimp_file_save(img, img.layers[0],filename,filename)
beide lassen das Programm laufen, aber Dateien werden überschrieben und nicht in dest_folder gespeichert.