Script : Faire une planche contact noir et blanc avec ImageMagick

contactsheet

Afin de retrouver quelques sensations proches de mon ancien labo Noir&Blanc argentique j’ai développé un script pour fabriquer une / plusieurs planches contacts de vignettes à partir des images d’un répertoire contenant des images JPG couleur.

Instant nostalgie (pour les moins de 20 ans nés avec le numérique). Les tirages contact ou planche contact permettaient de selectionner rapidement sans développement complexe les images (en positif) d’une pellicule argentique par exemple

tiragepc5

Sur le principe on va utiliser ImageMagick disponible avec toutes les distributions Linux/OSX/Windows (voir  https://www.imagemagick.org/script/binary-releases.php )

Sur Ubuntu installer

sudo apt-get install imagemagick

Le script est constitué de deux parties

En premier, la conversion des images couleur en images en niveau de gris (greyscale) avec l’utilitaire convert fourni par ImageMagick

Convertir les images du dossier en Noir et Blanc

convert -type Grayscale Sélection_053.jpg Sélection_053_Gray.jpg

Puis la réalisation de la planche contact elle-même avec l’utilitaire montage fourni également par  ImageMagick. Cet outil montage est très puissant et dispose de très nombreuses options

A partir du répertoire contenant des images JPG comme celui qui suit (ici ~/Documents/Esnandes)

Sélection_002

Commande à exécuter pour lancer le script

./make_contactsheet_bw_v1.0.sh ~/Documents/Esnandes
  • ./make_contactsheet_bw_v1.0.sh est le nom du script lancé dans le répertoire où il se trouve
  • ~/Documents/Esnandes est le nom du répertoire contenant les images

Source du script

!/bin/bash
#
# make_contactsheet_bw_v1.0.sh
# @jmdigne - https://lephotographelibre.wordpress.com
# Planche contact NB des photos d'un répertoire passé en paramètre
#
# History
# 2017_06_25 v1.0. - création
#
# Paramètres
# $1 = Répertoire de travail de départ où les images ont été déchargées
#
# Infos
# $1/BW = Répertoire temporaires des images converties NB
# contactsheet.JPG = Nom de la planche contact

#
# REM ***********************************************************************
#
echo "*** Planche Contact Noir&Blanc / BW Contact Sheet ***"
# Usage
display_usage() {
	echo " "
	echo "Au moins 1 Argument"
	echo "Répertoire de travail de départ où ont été déchargées les images"
	echo " "
	echo "\nUsage:\n$0 [arguments] \n"
	}

# T
	if [  $# -le 0 ]
	then
		display_usage
		exit 1
	fi

# 00 - Lancement

echo "* Repertoire de travail = $1"

# 1- Création des répertoires de travail temporaires
mkdir $1/BW

# 2 - Conversion en Greyscale --> copie des images grayscale dans dossier $1/BW

cd $1
# Nomalisation des nom de fichiers fichier .jpg en .JPG
rename -v 's/\.jpg\.*$/.JPG/' *.jpg*
for i in *.JPG; do convert -type Grayscale "$i" "$(echo $1/BW/$i)" ; done

# 3 - Traitement
cd $1/BW

SIZE=500
ROWS=6
FONTSIZE=32
# -auto-orient  : Supprimet ou Ajouter tag pour avoir une rotation automatique
# des vignettes

montage -verbose -label '%f' -font Ubuntu -pointsize ${FONTSIZE} -tile 7x5  \
		-background '#000000' -fill 'gray' -define jpeg:size=${SIZE}x${SIZE} \
		-title $(echo $1) -auto-orient \
		-geometry ${SIZE}x${SIZE}+2+2   *.JPG    contactsheet.JPG

cp  contactsheet.JPG ..

# 4 - Ménage
cd $1/BW
rm *.JPG
cd ..
rmdir $1/BW
cd $PWD

# Fin
exit 0

On peut modifier le paramètre -auto-orient de montage afin de faire une rotation automatique ou pas des vignettes suivant le sens de la prise de vue (horizontal ou vertical)

Avec -auto-orient

contactsheet

Sans -auto-orient

contactsheet_sans_auto-orient

 

 

Références: Une partie de ce code est basé sur le script (plus complet) de @jbuchbinder http://jbuchbinder.com/2016/02/08/opensource-contact-sheets-for-photographers/

Keywords: planche contact , tirage contact , contact sheet, montage, ImageMagick

 

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s