Antworten auf deine Fragen:
Neues Thema erstellen

Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

D

derHadi

Guest

Hi,
ich habe soeben eine Animation von 200 Bildern mit 3ds Max gerendert und zusätzlich diese 200 Bilder als Occlusion-Maps ebenfalls gerendert.

Im Prinzip muss ich also immer Bild_1 + Bild_1_occlusion (bis Bild_200 + Bild_200_occlusion) in ein Bild zusammenfügen, mit einer "Aktion" ein wenig bearbeiten und anschließend als ein Bild_1_fertig abspeichern, das ganze dann 200 Mal.

Die Bilder liegen in 2 Ordnern.

Wie geht das?? Das muss doch ein Standard-Problem sein.

Vielen Dank und Grüße,
Hadi
 

Photoshop

Samson21

Member

AW: Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

Hi Hadi,

Hast du's denn schon ausprobiert?

In der Aktion muss natürlich der entsprechende "Datei öffnen"-Dialog ablaufen. Ich glaube nicht, dass Photoshop das "blind" macht, du müsstest also die Dialoge drin lassen und beim Abspülen manuell die richtigen Dateien laden, so nervig das sein mag...
Das Speichern sollte kein Problem sein, du lässt Photoshop in der Stapelverarbeitung eine entsprechende dreistellige Seriennummer anhängen.
 
D

derHadi

Guest

AW: Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

Tjaa, alles schon probiert.
Das Problem ist ja eben, dass ich keine Lust habe 200 Mal 2 Bilder jeweils in eine PSD-Datei zusammenzufügen und zu speichern.
Danach die zusammengefügten Bilder in Photoshop per Aktion zu bearbeiten ist dann ja schnell erledigt.

Hier mal illustriert:


Irgendwie muss das doch klappen. Wer mit 3ds Max und Animationen arbeitet, z.B. später die Tiefenschärfe zu den einzelnen Bildern der Animation per PS hinzufügt, muss das ja auch hinbekommen?
 
Zuletzt bearbeitet von einem Moderator:
D

derHadi

Guest

AW: Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

Keine Ideen?
 

virra

lazy lizzard

AW: Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

Mir fällt dazu das Stichwort SCRIPTEN ein, habe aber null Ahnung. Vielleicht mal im Hilfdirselbst.ch nachfragen? Das gibt es zumindest für ID immer viele Menschen, die scripten können.
 

Samson21

Member

AW: Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

Also: wenn du eine Lösung findest, vollautomatisch die Bilder aus zwei Ordnern zu verarbeiten, via Photoshop, wirst du das auf jeden Fall hier posten, ja?

Das wüsst' ich jetzt auch gern!

Vielleicht solltest du auf 2 Quellordner verzichten und die Bilder in einem Ordner ablegen, ggf. schnelles Umbenennen über Bridge, Stapel umbenennen, so, dass Bild 001b auf 001a folgt (was nach diesem Schema ja schon gegeben wäre)...

Das wäre zumindest ein anderer Ansatz...
 

gargamelix

Aktives Mitglied

AW: Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

Wie wär es den mit dem schicken Script "Datei in Stapel laden..." :) ;)
 
V

Vignard

Guest

AW: Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

Mit normalen Aktionen kommst Du da nicht weiter. PS bietet nur die Möglichkeit den "Öffnen"-Aufruf in der Aktion mit der aktuell zu bearbeitenden Datei zu ersetzen. D.h. da würde immer nur das Bild aus dem quellorder Herangezogen werden.
Aus meiner Sicht bleibt nur die Möglichkeit das entsprechend zu Skripten (vb, ActionScript, Javascript)
 
D

derHadi

Guest

AW: Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

Also...

Ich hatte mich nun ein wenig in die Thematik eingelesen.
Tatsächlich lässt sich mit simpler JAVA-Programmierung viel in Photoshop automatisieren. Da ich im Moment etwas ausgelastet bin, kann ich hier nun leider nur meine bescheidene Lösung zu speziell meinem oben beschriebenen Problem erklären.

Vielleicht werden dadurch ja noch mehr animiert, und entwickeln die Idee an dieser Stelle weiter...

ALLGEMEIN:
Das kurze Tool ist in Java, bzw ähnlich Action-Script programmiert und greift auf Photoshop-spezifische Funktionen zu. Im Prinzip lassen sich damit ganze Programme samt Benutzeroberfläche erstellen.

TOOL:
In meinem Fall fragt das Tool nach dem Ordner in denen meine gesammten Bilder liegen. Die Reihenfolge meiner Bilder im Ordner sind dabei wie folgt: Bild1, Bild1_occ, Bild2, Bild2_occ, usw.
Das Tool erkennt nun zunächst, wie viele Bilder im angegeben Ordner liegen und durchläuft danach eine For-Schleife, in der immer 2 Bilder (Bild1+Bild1_occ, Bild2+Bild2_occ, usw.) in eine neue Datei in Photoshop auf 2 Layern verteilt eingefügt werden. Bei 400 Bilder die jeweils gepaart werden, habe ich danach 200 Bilder in einzelnen Dateien in Photoshop geöffnet. Diese arbeite ich nun mit der Photoshop-Internen Stapelverarbeitung und einer Aktion ab, speichere damit automatisch alle 200 Bilder und schließe alle am Ende - Fertig!

Es ist wie gesagt sehr rudimentär und natürlich nur auf meinen speziellen Fall ausgelegt, gibt aber hoffentlich ein Paar Ideen - vielleicht entsteht hier ja doch ein umpfangreicheres Tool.

INSTALLATION:
Das kleine Programm kann im Windows-Editor geschrieben werden und muss als *.jsx abgespeichert werden. Entweder führt man es mit einem Doppelklick aus oder man kopiert es in den Script-Ordner von Photoshop (C:\Program Files\Adobe\Adobe Photoshop CS4 (64 Bit)\Presets\Scripts), dann erscheint es in Photoshop unter "Datei -> Skripten -> MeinScript".

So viel zunächst von mir.

LG Hadi


SCRIPT:
-->

Code:
// ----------------------------------------------------------------
#target photoshop
var loadLayersFromScript = true; // must be before Photomerge include
//@includepath "/c/Program Files/Adobe/Adobe Photoshop CS4 (64 Bit)/Presets/Scripts"
//@include "load files into stack.jsx"
//@show include

var workFolder = Folder.selectDialog(); // Dialog wird geöffnet, in dem der Ordner ausgewählt wird
parseFolder(workFolder);


// Bilder in Array laden
------------------------
function parseFolder(folder) {
   
   var folders = folder.getFiles( function( file ) { return file instanceof Folder; } );
   var fList = folder.getFiles('*.tif'); 
   
   for(var i = 0; i < folders.length; i++ ) {
      try {
         parseFolder(folders[i]);
      } catch(err) {
      }
   }
   
   if (fList.length>0) {
      try {
        mergeImages(fList);
      } catch (err) {
      }
   }
   
   
}

// Hier werden die Fotos Paarweise in Photoshop geladen
-------------------------------------------------------
function mergeImages(fList) {
   
  for(var j=0 ; j<=fList.length ; j=j+2){
           
      var bild1 = fList[j+1];
      var bild2 = fList[j];
      var stack = [bild1,bild2];
          
      loadLayers.intoStack(stack,false); // eigentliche Photoshop-Funktion
      
      
      // damit ich später alle Bilder mit einer Aktion bearbeiten kann, sich die Anweisungen in
      // der Aktion aber immer auf einen festen Layer-Namen bezieht, werden nun immer alle Layer
      // "1" und "2" genannt:
      
      activeDocument.layers[0].name = '1'; 
      activeDocument.layers[1].name = '2';
       
      }
    alert('Done! '+(fList.length)/2+' Bilder wurden erstellt');
}
// ----------------------------------------------------------------
 

Samson21

Member

AW: Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

Hey, Hadi!
Super Job. Vielen Dank für deinen Bericht, jetzt weiß ich, womit ich mich bei nächster Gelegenheit einmal auseinandersetzen werde!
 
D

derHadi

Guest

AW: Stapelverarbeitung einer Bilderserie aus 2 verschiedenen Ordnern

Falls deine Bilder jetzt nicht immer "paarweise" (Bild1+Bild1_occ, Bild2+Bild2_occ,...,BildN+BildN_occ) im Ordner sortiert sind sondern erst die eigentlichen Bilder (Bild1, Bild2, ..., BildN) und darunter die zu Verschmelzenden Bilder stehen (occ_Bild1, occ_Bild2, ..., occ_BildN), muss man in dem Script nur die For-Schleifen ändern:

Code:
function mergeImages(fList) {
      var mid_counter = fList.length/2;
      
  for(var j=0 ; j<=mid_counter ; j=j+1){
                                             
      var bild1 = fList[j+mid_counter];
      var bild2 = fList[j];
      
      var zahl2 = j+mid_counter;
            
      var stack = [bild1,bild2];
          
      loadLayers.intoStack(stack,false);
      
      activeDocument.layers[0].name = '1';
      activeDocument.layers[1].name = '2';      
      }
     alert('Done!'+mid_counter+' Bilder wurden erstellt');
}

Dann kombiniert er immer absteigend BildN mit Bild(N+Anzahl-aller-Bilder/2), Bild(N+1) mit Bild(N+1+Anzahl-aller-Bilder/2), usw.

Wäre natürlich super, wenn man am Anfang des Scripts beim Auswählen des Ordners auch die Sortierung auswählen könnte...dann hätte man nur ein Script.

Ebenfalls toll, wenn man vielleicht angeben könnte, dass das Script immer nur 100 Bilder zur Zeit in Photoshop lädt - oder man angeben könnte (je nach Rechnerleistung ;-) ) wieviele Bilder oder welche Bereiche man möchte.

LG Hadi
 

microplace

Noch nicht viel geschrieben

Hallo zusammen,

es ist mir schon fast etwas peinlich dieses Thema aus der Versenkung zu holen aber ich benötige genau diese Lösung.

Im Prinzip habe ich zwei Ordner in welchen jeweils die - vom Dateinamen identischen - gleichen Dateien enthalten sind. Also Ordner1/00001.png ist auch in Ordner2/00001.png vorhanden. Somit dachte ich das ich bei Photoshop CC 2014 dieses Script nutzen kann.

Nach dem ausführen kommt allerdings sofort:
Fehler 3: Wert kann nicht zugewiesen werden. Line: 38 -> function mergeImages(fList) {

Und ich habe keine Ahnung wie ich das beheben kann. Kann mir das jemand erklären?

Besten Dank vorab!
 

ph_o_e_n_ix

acromyniker

Der Fehler in Zeile 38 (und 14) rührt daher, dass man der optischen Trennlinie entweder ein "//" (ohne Anführungszeichen) voranstellen oder diese löschen muss.

Das ändert aber nichts daran, dass das Script für deine Zwecke nicht geeignet ist - hier wird nämlich nur auf einen Ordner zugegriffen. Und danach passiert auch nicht viel weiter...

Zudem müsste man die Dateiendung anpassen und auch den @includepath.

Da leider nicht beschrieben wurde, was mit den kombinierten Bildern passieren soll oder in welchem Format diese gespeichert, noch wohin diese gespeichert werden sollen (respektive mit welchem Dateinamen), hier mal ausnahmsweise ein Skript, das als Ergebnis PSD-Dateien in einem dritten Ordner erstellt.

https://filehorst.de/d/cCihzGxA
 

microplace

Noch nicht viel geschrieben

Da leider nicht beschrieben wurde, was mit den kombinierten Bildern passieren soll oder in welchem Format diese gespeichert, noch wohin diese gespeichert werden sollen (respektive mit welchem Dateinamen), hier mal ausnahmsweise ein Skript, das als Ergebnis PSD-Dateien in einem dritten Ordner erstellt.

Du scheinst mich dennoch perfekt verstanden zu haben. Vielen vielen Dank genau das war was ich gesucht hatte :)

Zwar hatte ich probiert das obige Script erst zum laufen zu bringen, allerdings sind meine JAVA bzw JavaScript Kenntnisse etwas arg verstaubt... wenn ich ehrlich bin schon lange ausradiert.

Daher kann ich es nur nochmals betonen, vielen Dank!
 
R

RcoRebell

Guest

Hallo Alle zusammen, also erstmal, habe lange gesucht um so etwas zu finden, und ja, es hat mir geholfen, aber , gibt es nich eine Erweiterung, das die einselnen, offenen dateien die entstene, unter dem selben Namen gespeichert werden, wie sie aufgerufen wurden ? (z.B. Bild_1.png, Bild_1_shadow.png wird abgespeichert als Bild_1.psd) und am besten noch beide ebenen multipliziert copiert ;)

[Edit] ok, wenn die dateien in den Ordnen gleich heissen, geht das auch , fehlt nur noch das man einstellen kann ob ineinander kopieren, multiplizieren, oder hartes licht .. bla , das wäre noch sehr cool ;) ... aber multiplizieren wäre das wichtigste und als *.png speichern, aber ein fettes danke für das bisherige ergebnis schonmal , DANKE
 
Zuletzt bearbeitet von einem Moderator:

microplace

Noch nicht viel geschrieben

Der Fehler in Zeile 38 (und 14) rührt daher, dass man der optischen Trennlinie entweder ein "//" (ohne Anführungszeichen) voranstellen oder diese löschen muss.

Das ändert aber nichts daran, dass das Script für deine Zwecke nicht geeignet ist - hier wird nämlich nur auf einen Ordner zugegriffen. Und danach passiert auch nicht viel weiter...

Zudem müsste man die Dateiendung anpassen und auch den @includepath.

Da leider nicht beschrieben wurde, was mit den kombinierten Bildern passieren soll oder in welchem Format diese gespeichert, noch wohin diese gespeichert werden sollen (respektive mit welchem Dateinamen), hier mal ausnahmsweise ein Skript, das als Ergebnis PSD-Dateien in einem dritten Ordner erstellt.

https://filehorst.de/d/cCihzGxA

Jetzt muss ich das Thema schon wieder aus der Versenkung ziehen. Aus einem mir unerklärlichen Grund funktioniert das Script leider nicht mehr in Photoshop 2022. Leider kann ich auch nicht herausfinden warum da das Script selbst bereits kompiliert ist. Kannst du mir nochmal helfen?
 

ph_o_e_n_ix

acromyniker

Bei mir funktioniert es nach wie vor (getestet mit PS2022 v23.5.3).

Mögliche Ursachen:

- zweimal den selben Ordner gewählt
- keine PNG-Dateien vorhanden
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.615
Beiträge
1.538.352
Mitglieder
67.526
Neuestes Mitglied
Winfriedtesmer
Oben