[solved] {FR} How to generate a contact sheet as a grid of 8 ID pictures from command-line tool "montage" by ImageMagick
Posted: 2017-11-12T11:31:56-07:00
Comment créer une planche photo 10x15 cm d'une photo d'identité 45x35 mm dupliquée 8 fois grâce à la ligne de commande "montage" délivrée par ImageMagick
Ceci est solution locale et adaptable à votre goût. Elle vous permet d'obtenir une photo de haute résolution à l'encontre des services en ligne gratuits déjà existants. J'ai essayé "convertir-une-image.com" mais il réduit la résolution de la photo finale beaucoup trop à mon goût.
Il s'agit de faire quelques calculs de proportion pour que l'impression sorte à la bonne taille dans une imprimante à papier photo de 10 x 15 cm, format standard, en France du moins.
En réalité, nous parlerons en millimètres (mm) tandis quand virtuel nous parlerons en pixels. Respectivement Hauteur X Largeur
Il faut que le rapport en pixels soit le même ou presque qu'en mm afin d'obtenir les mêmes proportions ... ou presque.
Le rapport d'une photo 100 x 150 mm est de :
150/100=1,5
En France, pour la création d'un titre d'identité, l'état demande une photo au format 45 x 35 mm
https://www.service-public.fr/particuli ... its/F10619
Le rapport d'une photo d'identité seule est donc de :
45/35 ≊ 1,2857
≊ (U+224A), yet another combination of "≈" and "=", used to indicate equivalence or approximate equivalence
https://en.wikipedia.org/wiki/Approximation#Unicode
Vos photos finales devront faire 45 x 35 sur une planche de 100 x 150.
vous pouvez donc mettre 8 photos d'identité sur 2 lignes X 4 colonnes :
planche ID x 8
les marges autour de chaque photo devront être de 2,5mm en hauteur et de 1,25mm en largeur soit:
en hauteur : 2x(45+2x2,5)=100 mm
en largeur : 4x(35+2x1,25)=150 mm
conversion de la marge de millimètre à pixel :
quels sont les rapports pour les marges ? :
hauteur : 45/2,5=18
largeur : 35/1,25=28
vous réutiliserez ces rapports pour calculer le nombre de pixels qui constitueront les marges.
Pour illustrer mon exemple tout au long de cet article, j'utiliserai une PHOTO.JPG dont les dimensions sont de 3553 x 2778 pixels, soit un rapport de :
3553 / 2778 ≊ 1,2923
le rapport n'est donc pas idéal pour réaliser notre photo montage en ligne de commande mais pour le résultat final sur papier, nous nous satisferont de ce petit écart . Pour se rapprocher du rapport de 1,2857 nous allons donc agrandir la hauteur. A noter que nous pourrions plutôt choisir de réduire la largeur en rognant (crop) l'image.
Pour agrandir la hauteur, nous allons rajouter une marge blanche qui s'insère automatiquement grâce à la commande montage. Nous calculons la marge à rajouter en hauteur
2778 x 1,2857 ≊ 3572
3572 - 3553 = 19
soit, nous devons rajouter 19 pixels de plus pour les marges en hauteur que pour les marges en largeur, ce qui nous donne DONC une marge de 9,5 pixels que nous arrondirons à 9 en haut de la photo et une autre aussi en bas.
par exemple, si nous voulons une marge de 5 pixels en latéral de la photo 45 x 35 alors la marge basse et haute sera de : 5 + 9 = 14 pixels
voici la première mise en application dans un terminal :
ATTENTION ! placez vous dans un répertoire où seule une image au format .JPG est présente puis copiez-collez cette commande.
nous obtenons une image .jpEg avec un nouveau rapport de 3581/2788 ≊ 1,2844
ce qui sera considéré comme recevable car nous sommes assez proche du rapport idéal de 1,2857.
Notez que le fichier de sortie est au format .JPEG et non pas .JPG , afin que si nous relançons la ligne de commande de nouveau, "montage" ne l’inclura pas.
soit en pixel sur ma photo à l'origine de 3553x2778
3553/18=197,388
2778/28=99,214
nous n'oublions pas de rajouter 9 pixels en hauteur pour compensé le manque de la photo soit 197+9=206
soit nous obtenons une planche de 8 photos de 7930*11904 pixels
nous vérifions le rapport :
11904÷7930 = 1,5011 ... on est presque bon !! pas loin de 150/100 = 1,5
pour se tendre vers la vérité nous diminuons la largeur d'un pixel soit :
11896/7930 = 1,50012
voilà le rapport que nous obtenons, nous ne pourront pas faire mieux dans cette résolution.
addendum :
http://www.imagemagick.org/Usage/montage/
https://imagemagick.org/script/montage.php
Ceci est solution locale et adaptable à votre goût. Elle vous permet d'obtenir une photo de haute résolution à l'encontre des services en ligne gratuits déjà existants. J'ai essayé "convertir-une-image.com" mais il réduit la résolution de la photo finale beaucoup trop à mon goût.
Il s'agit de faire quelques calculs de proportion pour que l'impression sorte à la bonne taille dans une imprimante à papier photo de 10 x 15 cm, format standard, en France du moins.
En réalité, nous parlerons en millimètres (mm) tandis quand virtuel nous parlerons en pixels. Respectivement Hauteur X Largeur
Il faut que le rapport en pixels soit le même ou presque qu'en mm afin d'obtenir les mêmes proportions ... ou presque.
Le rapport d'une photo 100 x 150 mm est de :
150/100=1,5
En France, pour la création d'un titre d'identité, l'état demande une photo au format 45 x 35 mm
https://www.service-public.fr/particuli ... its/F10619
Le rapport d'une photo d'identité seule est donc de :
45/35 ≊ 1,2857
≊ (U+224A), yet another combination of "≈" and "=", used to indicate equivalence or approximate equivalence
https://en.wikipedia.org/wiki/Approximation#Unicode
Vos photos finales devront faire 45 x 35 sur une planche de 100 x 150.
vous pouvez donc mettre 8 photos d'identité sur 2 lignes X 4 colonnes :
planche ID x 8
les marges autour de chaque photo devront être de 2,5mm en hauteur et de 1,25mm en largeur soit:
en hauteur : 2x(45+2x2,5)=100 mm
en largeur : 4x(35+2x1,25)=150 mm
conversion de la marge de millimètre à pixel :
quels sont les rapports pour les marges ? :
hauteur : 45/2,5=18
largeur : 35/1,25=28
vous réutiliserez ces rapports pour calculer le nombre de pixels qui constitueront les marges.
Pour illustrer mon exemple tout au long de cet article, j'utiliserai une PHOTO.JPG dont les dimensions sont de 3553 x 2778 pixels, soit un rapport de :
3553 / 2778 ≊ 1,2923
le rapport n'est donc pas idéal pour réaliser notre photo montage en ligne de commande mais pour le résultat final sur papier, nous nous satisferont de ce petit écart . Pour se rapprocher du rapport de 1,2857 nous allons donc agrandir la hauteur. A noter que nous pourrions plutôt choisir de réduire la largeur en rognant (crop) l'image.
Pour agrandir la hauteur, nous allons rajouter une marge blanche qui s'insère automatiquement grâce à la commande montage. Nous calculons la marge à rajouter en hauteur
2778 x 1,2857 ≊ 3572
3572 - 3553 = 19
soit, nous devons rajouter 19 pixels de plus pour les marges en hauteur que pour les marges en largeur, ce qui nous donne DONC une marge de 9,5 pixels que nous arrondirons à 9 en haut de la photo et une autre aussi en bas.
par exemple, si nous voulons une marge de 5 pixels en latéral de la photo 45 x 35 alors la marge basse et haute sera de : 5 + 9 = 14 pixels
voici la première mise en application dans un terminal :
ATTENTION ! placez vous dans un répertoire où seule une image au format .JPG est présente puis copiez-collez cette commande.
Code: Select all
montage *.jpg -geometry +5+14 plancheID.jpeg
ce qui sera considéré comme recevable car nous sommes assez proche du rapport idéal de 1,2857.
Notez que le fichier de sortie est au format .JPEG et non pas .JPG , afin que si nous relançons la ligne de commande de nouveau, "montage" ne l’inclura pas.
soit en pixel sur ma photo à l'origine de 3553x2778
3553/18=197,388
2778/28=99,214
nous n'oublions pas de rajouter 9 pixels en hauteur pour compensé le manque de la photo soit 197+9=206
Code: Select all
montage *.jpg *.jpg *.jpg *.jpg *.jpg *.jpg *.jpg *.jpg -geometry +99+206 plancheid.jpeg
nous vérifions le rapport :
11904÷7930 = 1,5011 ... on est presque bon !! pas loin de 150/100 = 1,5
pour se tendre vers la vérité nous diminuons la largeur d'un pixel soit :
Code: Select all
montage *.jpg *.jpg *.jpg *.jpg *.jpg *.jpg *.jpg *.jpg -geometry +98+206 plancheid.jpeg
voilà le rapport que nous obtenons, nous ne pourront pas faire mieux dans cette résolution.
addendum :
http://www.imagemagick.org/Usage/montage/
https://imagemagick.org/script/montage.php