Effacer facilement les jpgs quand on photographie en RAW+jpg

En tant que photographe, je photographie toujours en RAW. Avec les bons outils, l’export en jpg est très simple, je ne vois donc plus l’intérêt de photographier en RAW+jpg. Malheureusement, mon vieux Canon G11 ne permet pas de ne photographier qu’en RAW. Si je veux du RAW, ce sera RAW+jpg. Mis à part le volume augmenté de 20 % sur la carte mémoire, ce n’est pas un gros problème, je n’aurai plus qu’à supprimer les jpg sur l’ordinateur.

Oui mais non, le G11 est l’appareil familial. Ma femme par exemple a tendance à utiliser le mode carré vert. Je n’ai rien contre, chacun utilise le matériel comme il l’entends. Mais ceci ajoute une difficulté : le mode carré vert n’enregistre les photos que en jpg. En déchargeant la carte, je ne peux donc pas me contenter de supprimer les jpgs car je risque de supprimer une image prise en ce mode.

Je pourrai vérifier chaque fichier, mais c’est long et rébarbatif. Et c’est tout le travail d’un ordinateur, si on sait lui dire quoi faire. Tout est l’affaire de 10 lignes.Bien sûr, ceci est l’approche que certains conçoivent comme un peu geek, mais elle aide beaucoup.

Le problème

Avant de voir comment faire, une petite explication de ce que l’on a sur sa carte mémoire. Lors d’une prise de vue en RAW+jpg, l’appareil enregistre deux photos (une en RAW, l’autre en jpg) sur la carte mémoire. Les deux photos ont le même nom (disons IMG_0034) mais avec une extension différente en fonction de s’il s’agit d’une RAW ou d’une jpg. Nous aurons donc, pour un appareil Canon, IMG_0034.CR2 et IMG_OO34.JPG. Une photo prise uniquement en jpg n’existera qu’en une seule version, disons IMG_0035.JPG.

Un script shell de 10 lignes

Sur une machine de type UNIX (donc un Mac sous OsX ou un PC sous Linux), on s’en tire avec un script (un petit programme) très simple à lancer dans le répertoire où on a déchargé la carte mémoire. Ce petit programme parcours tous les fichiers jpg du répertoire et vérifie si il existe un fichier ayant le même nom avec une extension CR2. Si c’est le cas, il supprime la jpg, sinon… non. De plus, il affiche si il a supprimé ou gardé le fichier.

#!/bin/sh
for i in *.JPG
do
    if [ -f $(basename $i .JPG).CR2 ]
    then
        rm $i
        echo "deleted $i"
    else
        echo "kept $i"
    fi
done

Ce script est bien entendu assez basique et spécifique à Canon. Si vous utilisez un Nikon par exemple, il faudra remplacer .CR2 par .NEF puisqu’il faudra comparer avec les RAW Nikon qui ont pour extension .NEF.

Bien sûr, il est possible d’ajouter à ce script tout action qui vous plaira comme un message spécifique ou un déplacement au lieu d’une suppression.

Et pour aller plus loin…

Ce script est pratique dans mon workflow puisque je décharge ma carte dans un répertoire dédié. En général, je renomme également mes photos en utilisant l’outil exiv2. Il est donc simple de faire d’une pierre deux coups en renommant les photos en fin de script comme pour l’exemple ci-dessous.

#!/bin/sh
for i in *.JPG
do
    if [ -f $(basename $i .JPG).CR2 ]
    then
        rm $i
        echo "deleted $i"
    else
        echo "kept $i"
    fi
done

exiv2 -r'%y%m%d-%H%M%S' -F rename * 

Et voilà, il ne me reste plus qu’à les importer dans mon outil de gestion de photos favori.

Je sais que cette approche n’est pas à la portée, mais si vous cherchiez une solution simple et facile à mettre en oeuvre pour gérer les doublons, vous pouvez librement recopier ce script.

À propos de... Darko Stankovski

iT guy, photographe et papa 3.0, je vous fais partager mon expérience et découvertes dans ces domaines. Vous pouvez me suivre sur les liens ci-dessous.

Vous aimerez aussi...

2 réponses

  1. 15 janvier 2015

    […] Une fois comprise la particularité de la commande pour renommer ses fichiers basés sur le timestamp, il n’y a plus qu’à la réutiliser. Exiftool peut être utilisé en ligne de commande ou dans les scripts. […]

  2. 17 janvier 2024

    […] y a presque 10 ans, je publiais ce même article illustré d’un code Bash. En 2014, je me remettais juste à Python mais on était encore en Python 2, j’admet […]

Laisser un commentaire

En naviguant sur Dad 3.0, vous acceptez l’utilisation de cookies pour une navigation optimale et nous permettre de réaliser des statistiques de visites. Plus d'informations

Le blog Dad 3.0 utilise les cookies pour vous permettre une navigation optimale et nous permettre de réaliser des statistiques de visite. Dad 3.0 affichant des publicités, celles-si utilisent également des cookies pour un ciblage publicitaire. En continuant la navigation sur Dad 3.0, vous acceptez le dépôt et la lecture de cookies.

Fermer