1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Photoshop Panorama (Photomerge) automatisieren mit Adobe ExtendScript Toolkit CS6

Discussion in 'Videobearbeitung, Bildbearbeitung' started by shortrange, Aug 26, 2014.

Thread Status:
Not open for further replies.
  1. shortrange

    shortrange Guest

    Moin,

    ich bin zwar noch ein ziemlicher Anfänger, doch ich interessiere mich für Bildbearbeitung und probiere des öfteren mit Photoshop CS6 herum.

    Momentan bin ich dabei, einige Panoramen zu erstellen.
    Jetzt habe ich allerlei Panoramen angesammelt und möchte aus jeder Bilderfolge fertige Panoramen erzeugen. Bei 30 Ordnern mit je einem Panorama ist das ziemlich viel.

    Deshalb habe ich mal ein bisschen herumgestöbert und dieses Skript ( http://blog.ccisystems.ro/2009/09/1...ing-photomerge-in-batches-in-adobe-photoshop/ ) für Adobe ExtendScript Toolkit gefunden.
    Damit klappt es auch wunderbar.
    Dieses Skript möchte ich gerne um einige Funktionen erweitern.
    Ich habe zwar schon eine Woche lang probiert das Skript anzupassen, aber es kammen immer wieder Fehlermeldungen.


    Hier mal das Ursprungsskript:

    Code:
    var runphotomergeFromScript = true; // must be before Photomerge include
    // @includepath "/c/Program Files/Adobe/Adobe Photoshop CS4 (64 Bit)/Presets/Scripts/"
    // @include "Photomerge.jsx"
    // @show include
    psdOpts = new PhotoshopSaveOptions();
    psdOpts.embedColorProfile = true;
    psdOpts.alphaChannels = true;
    psdOpts.layers = true;
    var workFolder = Folder.selectDialog();
    var folders = workFolder.getFiles( function( file ) { return file instanceof Folder; } );
    for( var i = 0; i < folders.length; i++ )
    {
    var folder = folders[i];
    var fList = folder.getFiles( '*.jpg' );
    // override Photomerge.jsx settings. Default is "Auto". Uncomment to override the default.
    //photomerge.alignmentKey   = "Auto";
    //photomerge.alignmentKey   = "Prsp";
    photomerge.alignmentKey   = "cylindrical";
    //photomerge.alignmentKey   = "spherical";
    //photomerge.alignmentKey   = "sceneCollage";
    //photomerge.alignmentKey   = "translation"; // "Reposition" in layout dialog
    // other setting that may need to be changed. Defaults below
    photomerge.advancedBlending      = true; // 'Bend Images Together' checkbox in dialog
    photomerge.lensCorrection      = false; // Geometric Distortion Correction'checkbox in dialog
    photomerge.removeVignette      = true; // 'Vignette Removal' checkbox in dialog
    if( fList.length > 1 )
    {
    photomerge.createPanorama(fList,false);
    }
    // The merged doc will be the activeDocument
    activeDocument.saveAs( new File( fList[0].parent + '/Stitch.psd' ) , psdOpts, true, Extension.LOWERCASE);
    activeDocument.close( SaveOptions.DONOTSAVECHANGES );
    }
    

    Hier das minimal angepasste Skript, damit ich es auf meinem Betriebssystem ausführen kann:

    Code:
    var runphotomergeFromScript = true; // must be before Photomerge include
    // @includepath "/c/Program Files/Adobe/Adobe Photoshop CS6 (64 Bit)/Presets/Scripts/"
    // @include "Photomerge.jsx"
    // @show include
    psdOpts = new PhotoshopSaveOptions();
    psdOpts.embedColorProfile = true;
    psdOpts.alphaChannels = true;
    psdOpts.layers = true;
    var workFolder = Folder.selectDialog();
    var folders = workFolder.getFiles( function( file ) { return file instanceof Folder; } );
    for( var i = 0; i < folders.length; i++ )
    {
    var folder = folders[i];
    var fList = folder.getFiles( '*.jpg' );
    // override Photomerge.jsx settings. Default is "Auto". Uncomment to override the default.
    photomerge.alignmentKey   = "Auto";
    //photomerge.alignmentKey   = "Prsp";
    //photomerge.alignmentKey   = "cylindrical";
    //photomerge.alignmentKey   = "spherical";
    //photomerge.alignmentKey   = "sceneCollage";
    //photomerge.alignmentKey   = "translation"; // "Reposition" in layout dialog
    // other setting that may need to be changed. Defaults below
    photomerge.advancedBlending      = true; // 'Bend Images Together' checkbox in dialog
    photomerge.lensCorrection      = false; // Geometric Distortion Correction'checkbox in dialog
    photomerge.removeVignette      = false; // 'Vignette Removal' checkbox in dialog
    if( fList.length > 1 )
    {
    photomerge.createPanorama(fList,false);
    }
    // The merged doc will be the activeDocument
    activeDocument.saveAs( new File( fList[0].parent + '/pan.psd' ) , psdOpts, true, Extension.LOWERCASE);
    activeDocument.close( SaveOptions.DONOTSAVECHANGES );
    }
    
    Änderungen zum Original:
    Zeile 2: CS6 statt CS4
    Zeile 16: aktiviert
    Zeile 18: auskommentiert



    Nun zu den Änderungen, die ich leider nicht hinbekomme:



    1.
    Es wäre gut, wenn man den Namen des Ordners, in dem die Bilder liegen, mit in den Dateinamen des fertigen Panoramas machen könnte.

    Beispiel:
    Ordnerstruktur:

    Urlaub XY --> alle Bilder, die kein Panorama sind
    Urlaub XY > Panorama > meer --> Bilderfolge für Panorama vom Meer
    Urlaub XY > Panorama > strand --> Bilderfolge für Panorama vom Strand
    Urlaub XY > Panorama > promenade --> Bilderfolge für Panorama von der Promenade
    Urlaub XY > Panorama > stadt1 --> Bilderfolge für Panorama von der Stadt
    Urlaub XY > Panorama > stadt2 --> Bilderfolge für Panorama von der Stadt


    Die Bilder sollen dann, je nachdem in welchem Ordner sie sich befinden so heißen:

    pan-meer.psd
    pan-strand.psd

    also mit Variablen so:

    Code:
    'pan-' + "Variable für den eigenen Ordner" + '.psd'
    
    Wie würde das gehen?




    2.
    Oft ist vorher nicht eindeutig erkennbar, welche verschiedenen Einstellungen beim Panorama das beste Ergebnis bringen.
    Alle Panoramen mache ich mit der Einstellung "Bilder zusammen überblenden".
    Dann gibt es noch die Einstellungen "Vignettierungsentfernung" und "Korrektur der geometrischen Verzerrung".
    Ich habe mir angewöhnt von jedem Panorama ein Bild mit jeder Einstellung zu machen (um am Ende zu gucken, welches am besten ist).

    Es sieht dann wie folgt aus:

    Pan1: Bilder zusammen überblenden: ja, Vignettierungsentfernung: Nein, Korrektur der geometrischen Verzerrung: Nein
    Pan2: Bilder zusammen überblenden: ja, Vignettierungsentfernung: Ja, Korrektur der geometrischen Verzerrung: Nein
    Pan3: Bilder zusammen überblenden: ja, Vignettierungsentfernung: Nein, Korrektur der geometrischen Verzerrung: Ja
    Pan4: Bilder zusammen überblenden: ja, Vignettierungsentfernung: Ja, Korrektur der geometrischen Verzerrung: Ja

    Das habe ich früher bei jedem Panorama von Hand gemacht.

    Jetzt zur Frage:
    Ist es möglich, diese Folge der Erstellung von 4 Panoramen in einem einzigen Skript zusammenzufassen?

    Das einfache kopieren der Skripte untereinander führt zu einer Fehlerausgabe.

    Als Übergangslösung habe ich es so gemacht, dass ich für jede Einstellung das Skript kopiert habe.
    Dann habe ich über alle Ordner die 4 Skripte hintereinander rüberlaufen lassen.
    Am komfortablesten wäre es natürlich, wenn man nur ein einziges Skript starten müsste.



    Es wäre echt super, wenn mir jemand helfen könnte! :)

    Vielen Dank schon mal im Vorraus ;)
     
  2. shortrange

    shortrange Guest

    Oh, Spoiler funktioniert hier nicht
     
  3. dnalor1968

    dnalor1968 Ganzes Gigabyte

    Ich weiß nicht, wie du mit der Qualität der Panoramabilder zufrieden bist.
    Alternativ kannst du mal nach Autostitch schauen.
     
Thread Status:
Not open for further replies.

Share This Page