• Bonjour Visiteur. Bienvenue sur les nouveaux forums de MacGeneration. La peinture est encore fraiche, quelques boulons doivent être resserrés, plus d’informations demain !

tri des photos JPEG et RAW

bouldaga

Membre junior
3 Novembre 2009
46
3
Bonjour,
Je passe bientôt sous Mac (dès qu'apple voudra bien me livrer mon Imac i5 :p) et j'aimerai savoir si il existe un soft pour trier les fichiers photos. Je m'explique :
Je photographie systématiquement en JPEG et RAW (fichier CR2 avec Canon). Je dépose les images jpeg dans un dossier, puis les raw dans un autre. Je fais le tri des jpeg (flou, mauvais cadrage, pas belles :eek: etc..). Ensuite j'utilise "CleanRaw" (PC) qui compare les deux dossiers puis efface (après confirmation) les raw n'ayant plus leur double en jpeg.
Rapide et efficace. Gain de temps pour les lots comprenants beaucoup d'images.
Alors question : connaissez-vous un équivalent sous MAC ?
Il existe bien la solution d'un émulateur win sous OSX, mais bon c'est pas le top !
Merci par avance ! :)
 

PA5CAL

Vétéran
Club MacG
21 Juillet 2005
9 228
596
Île-de-France
Bonsoir

Comment doit être réalisée la comparaison entre les deux images ? D'après le nom, les informations EXIF, ou bien le contenu visuel ?

S'il ne s'agit que d'une comparaison sur le nom, un simple script AppleScript peut faire l'affaire.
 

bouldaga

Membre junior
3 Novembre 2009
46
3
à priori c'est juste une comparaison de nom avec le préfixe IMA_+No-image et l'extention CR2/JPG.
Si effectivement on peux le faire avec AppleScript c'est du bonheur ;)
Bon reste à me mettre à la programmation :nailbiting:
merci PA5CAL.
 

PA5CAL

Vétéran
Club MacG
21 Juillet 2005
9 228
596
Île-de-France
Je te propose le script suivant :
Bloc de code:
[SIZE="1"]property extJpeg : "JPG"
property extRaw : "CR2"
property nomPoubelle : "_à jeter"

on run
	set dossierJpeg to ((choose folder with prompt "Dossier des fichiers « " & extJpeg & " » de référence ?" without invisibles) as string)
	set dossierRaw to ((choose folder with prompt "Dossier des fichiers « " & extRaw & " » à supprimer ?" without invisibles) as string)
	
	set cheminRaw to (quoted form of POSIX path of dossierRaw) as string
	set lsRaw to (do shell script "ls -1 " & cheminRaw)
	
	set tid to AppleScript's text item delimiters
	set AppleScript's text item delimiters to return
	set listeFichiersRaw to every text item of lsRaw
	set AppleScript's text item delimiters to tid
	
	set dossierPoubelle to dossierRaw & nomPoubelle
	set cheminPoubelle to (quoted form of POSIX path of dossierPoubelle) as string
	try
		do shell script "mkdir " & cheminPoubelle
	end try
	
	set compte to 0
	repeat with nomFichierRaw in listeFichiersRaw
		if (number of characters of nomFichierRaw) is greater than 4 then
			set ext to (characters -4 thru end of nomFichierRaw) as string
			if ext is equal to ("." & extRaw) then
				set fichierJpeg to dossierJpeg & (characters 1 thru -4 of nomFichierRaw) & extJpeg
				tell application "Finder" to if not (exists file fichierJpeg) then
					set fichierRaw to (quoted form of POSIX path of (dossierRaw & nomFichierRaw)) as string
					do shell script "mv " & fichierRaw & " " & cheminPoubelle
					set compte to compte + 1
				end if
			end if
		end if
	end repeat
	display dialog (compte as string) & " fichiers « " & extRaw & " » à supprimer" buttons {"OK"} default button 1
	
	tell application "Finder"
		activate
		open folder dossierPoubelle
	end tell
end run[/SIZE]
Il met tous les fichiers RAW (.CR2) qui n'ont pas d'équivalent en JPEG (.JPG) dans un dossier « _à jeter », lequel peut ensuite être mis à la corbeille et supprimé.

Je l'ai testé chez moi sous Tiger, et il semble bien marcher.
 

bouldaga

Membre junior
3 Novembre 2009
46
3
et ben merci
je vais essayer ta programmation... cela a dû te prendre du temps à réaliser !
je te tiens au courant
Merci PA5CAL :)
 

PA5CAL

Vétéran
Club MacG
21 Juillet 2005
9 228
596
Île-de-France
Pour créer le script, il te suffit :
- d'ouvrir /Applications/AppleScript/Éditeur de scripts.app,
- de sélectionner l'ensemble du code donné au-dessus,
- de glisser ce texte dans la fenêtre de l'Éditeur de scripts,
- de cliquer sur le bouton Compiler,
- d'aller dans le menu Fichier > Enregistrer sous...,
- de fixer le Format de fichier à Application ou Progiciel, de donner un nom assez parlant au fichier (par exemple « CleanRaw.app ») et de choisir son emplacement, avant de cliquer sur Enregistrer.
 

bouldaga

Membre junior
3 Novembre 2009
46
3
Comment te remercier ?
Cela fonctionne parfaitement. De plus j'ai ce soir quelques 400 images a trier, jpeg et raw bien sûr.
MERCI PA5CAL ! :up:
 

LACK

Membre confirmé
21 Novembre 2006
109
2
Bonjour je déterre ce post car je souhaiterais effacer mes fichiers raw .RW2 qui n'ont plus d'équivalent .jpeg.

Ce script me semble parfait mais sur applescript (el capitan) quand je compile, il me dit qu'il y a une syntax error dans le code : A “property” can’t go after this “]”.

Je vois qu'en 2009 ça marchait, que faut il faire ? merci pour votre aide.
 

bgas

Nouveau membre
10 Janvier 2016
7
0
28
UP, c'est exactement la solution qu'il me faudrait ...

est-ce que quelqu'un sait pourquoi le script ne marche pas ?

En tout cas ce serait top un petit coup de pouce :)

Merci !

PS : je suis sous 10.10

Merci
 

baron

Membre d’élite
22 Avril 2008
1 058
179
LLN
Ne suffit-il pas d'ôter les deux balises [size="1" et [/size (avec les crochets fermants ] bien sûr…) ?
 

dad3zero

Membre confirmé
12 Juin 2014
193
20
www.dad3zero.net
Perso, je passe par un script shell depuis que j'ai un G11 (il ne fait pas de RAWs seuls mais RAW + jpg mais si utilisé en "carré vert", il ne fait que du jpg... je voulais donc effacer à la base les jpgs qui sont une copie des raw mais garder les orphelins). Le choix de le faire en sh vient du fait que j'ai commencé sous Linux.

Je commence en fait par renommer mes fichiers avec exiftools afin qu'ils aient tous un nom unique basé sur l'horodatage, en cas de paires jpg/raw, ils ont le même nom avec l'extension différente.

Bloc de code:
exiftool -d %y%m%d-%H%M%S%%-c.%%e "-filename<CreateDate" .
Dans ton workflow, tu fait ton tri à ce moment là.

Ensuite, si j'adapte vite fait à ton cas :

Bloc de code:
#!/bin/sh

for i in *.CR2
do
    if [ ! -f $(basename $i .CR2).JPG]
    then
        rm $i
    fi
done
Beaucoup plus radical que l'exemple ci-dessus puisqu'il supprime tout CR2 qui n'a pas de JPG équivalent, mais après tout, c'est bien ce qu'on souhaite faire, non ?

Sinon, sur le principe, je trouve que c'est une très mauvaise manière de procéder. Si on photographie en RAW, les logiciels de cataloguage (pour ceux qui ont encore, iPhoto et Aperture, pour les autres, Photos, Lightroom, Capture One...) génèrent des vues rapides à passer, l'excuse du temps ne vaut pas. Elles évitent des faux négatifs parce que le jpg généré est pourri alors que le RAW est exploitable. J'aurai tendance à conseiller de passer par ces outils qui permettent du coup de mieux évaluer les photos à garder ou non.
 
  • J’aime
Réactions: baron

bgas

Nouveau membre
10 Janvier 2016
7
0
28
TOP MERCI !!

En effet il suffisait de retirer ces deux balises ! Ca fonctionne du tonnerre et permet vraiment de gagner du temps :)

@dad3zero je n'ai du coup pas testé ta méthode...
pourquoi trouves tu que c'est une mauvaise manière ?

En fait, mon vieux dell ramait beaucoup pour afficher les CR2, du coup j'étais obligé de séléctionné les jpeg puis faire un tri à la mano, très chiant.
Lightroom bouffe beaucoup de ressources, ce n'est pas bien pratique ...

Quelle manière de procéder proposerais tu ?

Merci
 

dad3zero

Membre confirmé
12 Juin 2014
193
20
www.dad3zero.net
pourquoi trouves tu que c'est une mauvaise manière ?

En fait, mon vieux dell ramait beaucoup pour afficher les CR2, du coup j'étais obligé de séléctionné les jpeg puis faire un tri à la mano, très chiant.
Lightroom bouffe beaucoup de ressources, ce n'est pas bien pratique ...

Quelle manière de procéder proposerais tu ?

Merci
Mais Dell quoi... Oui cette remarque est juste un troll et alors ?

C'est une mauvaise manière pour la raison que j'ai expliqué plus haut : tu juge une photo à garder ou à jeter sur le jpg généré par l'appareil. Il arrive que celui-ci génère des jpgs immondes alors que les RAW sont acceptables. J'ai pour ma part failli bazarder tout ce que j'avais fait d'un concert avec mon G11 en jugeant sur les jpgs. Immondes car fort ISO, les RAWs étaient bruités mais certaines exploitables avec un vrai outil de débruitage.
En fait, tu complique la gestion car tu juge un document mais c'est un autre la référence. Sans outils pour t'aider, c'est vite le bordel...

Pour moi, il faut passer par un outil de gestion de photothèque qui sont justement performants pour te permettre de ne bosser qu'avec les RAWs. Pour ta remarque sur les ressources... N'est-ce pas inhérent à ton ancienne machine ? Pour ma part, je suis encore sous Aperture. Ma manière de faire avec un nouveau set est de le parcourir et de l'évaluer avec les outils proposés : rejet pour ce qui est à effacer, 2 à 5 * pour ce qui est gardé, 1* pour ce qui est peu sûr mais tendance à garder mais qui nécessite une seconde passe. Régulièrement, je supprime ce qui est "rejeté". Ce qui est gardé est conservé en "référence" sur mon NAS, Aperture conserve des previews en cache si je ne suis pas connecté au NAS. Ça simplifie la gestion et évite les accidents.
Sur la manière de faire, Photos ne me convient pas car Apple a retiré la notation par étoile... Lightroom a des outils équivalents, Capture One également sauf qu'il n'y a pas de "rejeté" il me semble, mais ça se gère.
 
  • J’aime
Réactions: baron