Version imprimable du sujet

Cliquez ici pour voir ce sujet dans son format original

Forums MacBidouille _ La Programmation En Général _ Script photoshop pour mac

Écrit par : punkiti 3 Feb 2021, 15:36

Bonjour,

Je suis tombé sur votre site après avoir fait des recherches sans succès.

Je suis passionné par la numismatique (collection et étude des pièces de monnaie). Lorsque je prends des monnaies en photo j'ai besoin d'assembler l'avers et le revers ensemble. De 2 photos, on en a plus qu'une. Le script pour cette manip, je l'ai créé dans photoshop.

Je vais avoir besoin de photographier environ 500 monnaies. Je souhaiterais donc automatiser cela pour que le dossier complet soit traité par photoshop.

Cependant je n'arrive pas à faire la manip... Si je crée un droplet ou un traitement par lot, photoshop veut traiter le script photo par photo ce qui n'est pas bon puisque mon script fonctionne avec 2 photos...

Je ne sais pas si c'est très clair rolleyes.gif Avez-vous la possibilité de m'aider ?

Je suis sur un ancien mac en High Sierra 10.13.6 et PS CC 2017.

Merci d'avance smile.gif

Écrit par : radioman 3 Feb 2021, 17:48

la seule idée qui me vient:
faire 500 dossiers, mettre les doublets recto verso dans chaque dossier,




faire un script qui traite le contenu des dossiers (doublets) …

Écrit par : PBell 3 Feb 2021, 19:22

Bonsoir,
Effectivement, il faut trouver moyen de créer les paires de fichiers.
Comme suggéré par Radioman, l'option de créer des dossiers peut être la bonne solution, mais avec 500 pièces, soit 1000 photos, cela risque d'être laborieux.

Est-il possible de faire des paires via leur nom de fichier ?
Example "ma_piece 1 Recto.jpg" et "ma_piece 1 Verso.jpg". On pourrait alors soit automatiser le script Photoshop, ou encore faire un script que regroupe les fichiers par 2 dans un dossier créer par le script. Idem Radioman, mais plus automatisé.

Enfin, en supposant que tu prennes les photos une par une, il serait aussi possible de les mettre dans un dossier avec un script d'action de dossier:
- si ajout un seul fichier, on ne fait rien
- si l'ajout donne 2 fichiers dans le dossier, on les prends, les transforme en une seule image sauvegardée ailleurs et on efface les 2 fichiers originaux

Ainsi, à chaque fois que tu a pris les 2 photos, le script genre génère le fichier et vide le dossier pour la pièce suivante !

Cordialement

Écrit par : punkiti 6 Feb 2021, 07:33

Bonjour et merci à vous deux de vous pencher sur mon sujet.

L'idée d'un script de dossier est assez intéressante ! Par quel moyen est-il possible que je le crée ?

Merci encore

Écrit par : Jaypee 6 Feb 2021, 11:04

Si on utilise dans Terminal le shell par défaut zsh, créer des dossiers numérotés est aussi simple que ça, exemple pour 5 dossiers:

Code
jaypee@MacMini2018JP ~ % ls -l piece*
zsh: no matches found: piece*
jaypee@MacMini2018JP ~ % mkdir piece_numero_{1..5}
jaypee@MacMini2018JP ~ % ls -l piece*            
piece_numero_1:

piece_numero_2:

piece_numero_3:

piece_numero_4:

piece_numero_5:
jaypee@MacMini2018JP ~ %


Par ailleurs, le bricoleur (et le paresseux) en moi me souffle(nt), y'aurait-il pas moyen avec deux miroirs de photographier les deux faces avec une seule prise ?

@+JP

Écrit par : PBell 6 Feb 2021, 20:24

Bonsoir,
Voici un petit script d'action de dossier qui, je crois, constitue un bon début de solution.
Je suppose que tu disposes déjà du script de fusion des 2 photos recto/verso en un seul fichier. Ce de fusion script doit être intégré dans le script ci-dessous:

CODE
-- Action de dossier qui traite les fichiers ajoutés au dossier
-- Si le dossier ne contient qu'un fichier, ne fait rien, mais affiche une alerte
-- Si le dossier contient 2 fichiers, lance ton script de fusion des 2 photos
-- Si le dossier contient plus de 2 fichiers, affiche une alerte: il faut régler le problème
-- P_Bell Fevrier 2020


on adding folder items to Ce_Dossier after receiving N_Fichiers
    
    tell application "Finder" to set Liste to every file of folder Ce_Dossier

    if (count of Liste) > 2 then
        display alert "Erreur: il y a plus de 2 fichiers dans le dossier" giving up after 2
        return
    end if
    if (count of Liste) = 1 then
        display alert "En attente d'une seconde photo" giving up after 1.5
        return
    end if
    if (count of Liste) = 2 then
        display alert "Fusion des photos a faire..."
        Fusion_Photos(item 1 of Liste, item 2 of Liste)
    end if
end adding folder items to


on Fusion_Photos(F1, F2) -- fusionne les 2 fichiers
    tell application "Finder"
        display dialog "fusion" & return & (F1 as string) & return & (F2 as string) -- A supprimer une fois ajouté le vrai script de fusion
        -- compléter avec le script de fusion des 2 photos F1 et F2
        
        -- une fois la fusion faite et le fichier résultant enregistré dans un autre dossier,
        -- supression des 2 fchiers d'origine (ou déplacement vers un autre dossier)
        delete F1
        delete F2
    end tell
end Fusion_Photos


Enregistrer ce script dans le dossier des actions de dossiers (en principe, dossier bibliothèque utilisateur / Scripts / Folder Action Scripts)
Créer un dossier dans lequel les photos seront ajoutées au fur et à mesure de leur prise. Assigner à ce dossier l'action de dossier correspondant au script ci-dessus.

Pour tester, il suffit de déposer un ou des fichiers dans ce dossier:
Au premier fichier ajouté, un message s'affiche indiquant "En attente d'une seconde photo".
Au second fichier ajouté, le script indique qu'il va fusionner les 2 photos. Une fois cliqué OK, les 2 fichiers sont supprimés. Il t'appartient donc de compléter cette routine par un appel à ton script Photoshop avec F1 et F2 comme variables.

Cordialement

Propulsé par Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)