Création multiples de collections d'images

Questions générales en Français

Moderator: xnview

WilliShakes
Posts: 6
Joined: Tue Feb 17, 2026 12:56 pm

Création multiples de collections d'images

Post by WilliShakes »

Bonjour, est-ce que quelqu'un sait s'il y a un moyen de faire plein collection d'image automatiquement (ou relativement automatiquement) ?
Pour le contexte, je suis en possession de quelque milliers d'images, qui sont en réalité des moitié d'image et il me faut les assembler verticalement.
La manipulation est assez facile à faire dans xnview grâce à la création de collection d'image mais cela nécessite de faire la manipulation pour chaque paire d'image.
Et après en avoir traité environ une centaine, je commence à me dire que je n'en verrai jamais le bout ^_^"
Donc si quelqu'un sait comment je pourrait automatiser ne serait-ce qu'un petit peu la procédure, je vous en serait grandement reconnaissant.
cday
XnThusiast
Posts: 4524
Joined: Sun Apr 29, 2012 9:45 am
Location: Cheltenham, U.K.

Re: Création multiples de collections d'images

Post by cday »

WilliShakes wrote: Tue Feb 17, 2026 5:18 pm Pour le contexte, je suis en possession de quelque milliers d'images, qui sont en réalité des moitié d'image et il me faut les assembler verticalement.
La manipulation est assez facile à faire dans xnview grâce à la création de collection d'image mais cela nécessite de faire la manipulation pour chaque paire d'image.
Bonjour,

Utilisation de Outils > Planche d'images pour chaque paire de fichiers ?

Si tel est le cas, cela n'est probablement possible qu'à l'aide d'un script NConvert ...

Et à moins que l'équivalent de « plance d'image » ne soit désormais pris en charge, cela peut se faire indirectement en étendant la première toile d'image afin de créer de l'espace pour la deuxième image, puis en collant la deuxième image sur la toile étendue à l'aide de l'action « Watermark » ['Filigrane'] ...
User avatar
michel038
XnThusiast
Posts: 1508
Joined: Tue Sep 27, 2016 8:18 am
Location: France

Re: Création multiples de collections d'images

Post by michel038 »

Je n'ai pas étudié la question, mais peut-être une idée si elles ont toutes les mêmes dimensions : assembler par exemple 24 images en une seule, et ensuite diviser le résultat en 12 ?

Si nécessaire, redimensionner les images au préalable, au moins pour chaque lot à traiter.
Et si la mémoire du pc le supporte, essayer sur 240 images d'un coup ? Avec XnviewMP, plus moderne, j'imagine que la gestion des gros fichiers est meilleure ?
WilliShakes
Posts: 6
Joined: Tue Feb 17, 2026 12:56 pm

Re: Création multiples de collections d'images

Post by WilliShakes »

cday wrote: Tue Feb 17, 2026 6:36 pm Bonjour,

Utilisation de Outils > Planche d'images pour chaque paire de fichiers ?

Si tel est le cas, cela n'est probablement possible qu'à l'aide d'un script NConvert ...

Et à moins que l'équivalent de « plance d'image » ne soit désormais pris en charge, cela peut se faire indirectement en étendant la première toile d'image afin de créer de l'espace pour la deuxième image, puis en collant la deuxième image sur la toile étendue à l'aide de l'action « Watermark » ['Filigrane'] ...
Merci beaucoup pour la réponse.
J'ai essayer de chercher comment utiliser Nconvert et s'il est possible de le faire avec et...
Ouf Nconvert est vraiment pas facile à comprendre mais après pas mal d'essais et quelques cheveux arrachés, j'ai à peut près compris comment ça fonctionne et j'ai trouvé que Nconvert ne peux pas faire de collections d'images.
Par contre il peut ajouter des filigrane comme tu l'as suggéré (une idée de génie vraiment !).
Ensuite je me un peu cassé la tête pour trouver comment faire l'opération sur toutes mes images mais j'ai fini par trouver !
Il m'a fallu générer un ligne de commande Nconvert pour chaque paire d'images (donc faire l'opération sur la 1r et ajouter la 2m en filigrane) et mettre tout ça dans un fichier bat et... Tadam ! Ça fonctionne.
Enfin presque, j'ai mis un moment à comprendre que rien n'est par défaut dans Nconvert donc il faut s'assurer que toute les options de qualité soient présentes dans les commandes.
Bref, tout ça pour dire que j'ai ma solution et c'est grâce à vous merci !
WilliShakes
Posts: 6
Joined: Tue Feb 17, 2026 12:56 pm

Re: Création multiples de collections d'images

Post by WilliShakes »

michel038 wrote: Wed Feb 18, 2026 10:16 am Je n'ai pas étudié la question, mais peut-être une idée si elles ont toutes les mêmes dimensions : assembler par exemple 24 images en une seule, et ensuite diviser le résultat en 12 ?

Si nécessaire, redimensionner les images au préalable, au moins pour chaque lot à traiter.
Et si la mémoire du pc le supporte, essayer sur 240 images d'un coup ? Avec XnviewMP, plus moderne, j'imagine que la gestion des gros fichiers est meilleure ?
Oh idée intéressante, j'aurai sûrement fait ça si je n'avait pas réussi à le faire avec des filigranes. Ça m’aurait permit d'aller beaucoup plus vite que de faire la manip pour chaque paires. Merci !
cday
XnThusiast
Posts: 4524
Joined: Sun Apr 29, 2012 9:45 am
Location: Cheltenham, U.K.

Re: Création multiples de collections d'images

Post by cday »

WilliShakes wrote: Wed Feb 18, 2026 12:57 pm Bref, tout ça pour dire que j'ai ma solution et c'est grâce à vous merci !
I am very pleased that you were able to create an NConvert script that works, could you please be so kind as to post your full code? :D

DeepL:

Je suis très heureux que vous ayez réussi à créer un script NConvert qui fonctionne. Pourriez-vous avoir l'amabilité de publier votre code complet ?
WilliShakes
Posts: 6
Joined: Tue Feb 17, 2026 12:56 pm

Re: Création multiples de collections d'images

Post by WilliShakes »

cday wrote: Wed Feb 18, 2026 2:42 pm I am very pleased that you were able to create an NConvert script that works, could you please be so kind as to post your full code? :D

DeepL:

Je suis très heureux que vous ayez réussi à créer un script NConvert qui fonctionne. Pourriez-vous avoir l'amabilité de publier votre code complet ?
Bien sûr,
Mes images étaient organisées comme ça (j'ai simplifié le chemin et les tailles pour mieux comprendre) :
  • A:
    • └─ images
      • ├─ 0001-1.jpg (1000x1000 pixels)
        ├─ 0001-2.jpg (1000x1000 pixels)
        ├─ 0002-1.jpg (1000x1000 pixels)
        ├─ 0002-2.jpg (1000x1000 pixels)
        ├─ [...]
        ├─ 1000-1.jpg (1000x1000 pixels)
        └─ 1000-2.jpg (1000x1000 pixels)
Donc j'ai fait un fichier bat contenant :

Code: Select all

nconvert -canvas 1000 2000 top-left -wmopacity 100 -wmpos 0 1000 -wmfile "A:\images\0001-2.jpg" -out jpeg -q 100 -opthuff -dct 2 -subsampling 2 "A:/images/0001-1.jpg" 
nconvert -canvas 1000 2000 top-left -wmopacity 100 -wmpos 0 1000 -wmfile "A:\images\0002-2.jpg" -out jpeg -q 100 -opthuff -dct 2 -subsampling 2 "A:/images/0002-1.jpg" 
[...]
nconvert -canvas 1000 2000 top-left -wmopacity 100 -wmpos 0 1000 -wmfile "A:\images\1000-2.jpg" -out jpeg -q 100 -opthuff -dct 2 -subsampling 2 "A:/images/1000-1.jpg" 
Pour l'explication :
" -canvas 1000 2000 top-left " redimensionne le canevas en 1000x2000 (lxh) et positionne ce qu'il y avait dans l'image en haut à gauche du canevas
" -wmopacity 100 " indique que le filigrane ne doit pas être transparent
" -wmpos 0 1000 " indique que le filigrane doit être placé aux position x=0 et y=1000 (donc 0 pixels plus loin que le coté gauche et 1000 pixels plus bas que le coté haut)
" -wmfile "A:\images\1000-2.jpg" " indique le fichier à insérer en filigrane
" -out jpeg -q 100 " indique que le fichier créer doit être au format jpg avec une qualité de 100
" -opthuff " indique qu'il faut optimiser les tables d'Huffman lors de la création du jpg
" -dct 2 " indique qu'il faut utiliser la methode DCT "flottant" lors de la création du jpg
" -subsampling 2 " indique qu'il faut utiliser le sous-échantillonnage 4:4:4 (1x1,1x1,1x1) lors de la création du jpg
" "A:/images/1000-1.jpg" " indique sur quelle image il faut faire les opérations


Ce qui fait qu'on se retrouve avec ça :
  • A:
    • └─ images
      • ├─ 0001-1.jpg (1000x1000 pixels)
        ├─ 0001-1_1.jpg (1000x2000 pixels)
        ├─ 0001-2.jpg (1000x1000 pixels)
        ├─ 0002-1.jpg (1000x1000 pixels)
        ├─ 0002-1_1.jpg (1000x2000 pixels)
        ├─ 0002-2.jpg (1000x1000 pixels)
        ├─ [...]
        ├─ 1000-1.jpg (1000x1000 pixels)
        ├─ 1000-1_1.jpg (1000x2000 pixels)
        └─ 1000-2.jpg (1000x1000 pixels)
Il suffit ensuite de récupérer tous les fichier terminant par "_1.jpg" (petite recherche pour *_1.jpg" puis tout sélectionner, couper et coller ailleurs).
cday
XnThusiast
Posts: 4524
Joined: Sun Apr 29, 2012 9:45 am
Location: Cheltenham, U.K.

Re: Création multiples de collections d'images

Post by cday »

Many thanks, do I understand that you have to copy, paste and edit code for each image file pair processed?

Wouldn't it be possible to use some form of loop with a wildcard or if necessary wildcards to allow an arbitrary number of loaded file pairs to be processed?

Note: To be honest loops (a FOR loop presumed) always gave me a headache... :wink:

DeepL:

Merci beaucoup, si je comprends bien, il faut copier, coller et modifier le code pour chaque image paire de fichiers traitée ?

Ne serait-il pas possible d'utiliser une boucle avec un caractère générique ou, si nécessaire, plusieurs caractères génériques pour permettre le traitement d'un nombre arbitraire de paires de fichiers chargés ?

Remarque : pour être honnête, les boucles (une boucle FOR, je suppose) m'ont toujours donné mal à la tête... :wink:

Traduit avec DeepL.com (version gratuite)
WilliShakes
Posts: 6
Joined: Tue Feb 17, 2026 12:56 pm

Re: Création multiples de collections d'images

Post by WilliShakes »

cday wrote: Wed Feb 18, 2026 7:21 pm Many thanks, do I understand that you have to copy, paste and edit code for each image file pair processed?

Wouldn't it be possible to use some form of loop with a wildcard or if necessary wildcards to allow an arbitrary number of loaded file pairs to be processed?

Note: To be honest loops (a FOR loop presumed) always gave me a headache... :wink:

DeepL:

Merci beaucoup, si je comprends bien, il faut copier, coller et modifier le code pour chaque image paire de fichiers traitée ?

Ne serait-il pas possible d'utiliser une boucle avec un caractère générique ou, si nécessaire, plusieurs caractères génériques pour permettre le traitement d'un nombre arbitraire de paires de fichiers chargés ?

Remarque : pour être honnête, les boucles (une boucle FOR, je suppose) m'ont toujours donné mal à la tête... :wink:

Traduit avec DeepL.com (version gratuite)
Je n'ai pas eu besoin de modifier chaque ligne, j'ai directement générer toutes les lignes de manière séquentielle.
Une manière simple et graphique de le faire est d’utiliser un tableur :
╔═════════════════╤═════╤════════════════╤═════╤═════╗
║ nconvert [...] "A:\images\ │ 0001 │ -2.jpg" [...] "A:/images/ │ 0001 │ -1.jpg" ║
╠═════════════════╪═════╪════════════════╪═════╪═════╣
║ =$A$1         │ =B1+1 │ =$C$1         │ =D1+1 │ =$E$1 ║
╚═════════════════╧═════╧════════════════╧═════╧═════╝
Ensuite, il suffit d'étendre la deuxième ligne jusqu'au nombre total d'images ; Puis tout copier et de faire le fichier bat avec (bien penser à retirer les tabulation s'il y en a).

Je ne connaissait pas le système de boucle dans les scripts batch, je suis en train de regarder ça mais pour l'instant j'ai l'impression que ça permet de faire une commande un certain nombre de fois sur plusieurs fichiers mais si la commande est différente pour chaque fichier, je ne sais pas si c'est possible...
cday
XnThusiast
Posts: 4524
Joined: Sun Apr 29, 2012 9:45 am
Location: Cheltenham, U.K.

Re: Création multiples de collections d'images

Post by cday »

WilliShakes wrote: Wed Feb 18, 2026 8:35 pm Je n'ai pas eu besoin de modifier chaque ligne, j'ai directement générer toutes les lignes de manière séquentielle.
Une manière simple et graphique de le faire est d’utiliser un tableur :
╔═════════════════╤═════╤════════════════╤═════╤═════╗
║ nconvert [...] "A:\images\ │ 0001 │ -2.jpg" [...] "A:/images/ │ 0001 │ -1.jpg" ║
╠═════════════════╪═════╪════════════════╪═════╪═════╣
║ =$A$1         │ =B1+1 │ =$C$1         │ =D1+1 │ =$E$1 ║
╚═════════════════╧═════╧════════════════╧═════╧═════╝
Ensuite, il suffit d'étendre la deuxième ligne jusqu'au nombre total d'images ; Puis tout copier et de faire le fichier bat avec (bien penser à retirer les tabulation s'il y en a).
A practical solution that was easy for you to implement... :D
Je ne connaissait pas le système de boucle dans les scripts batch, je suis en train de regarder ça mais pour l'instant j'ai l'impression que ça permet de faire une commande un certain nombre de fois sur plusieurs fichiers mais si la commande est différente pour chaque fichier, je ne sais pas si c'est possible...
Pas exactement, it should be possible to execute the required code for each file in a folder, number unspecified, but possibly best avoided unless it interests you...

Meanwhile, I have thought of a possible alternative solution that does not need a FOR loop, if it interests you now that you have a viable solution:

1. Use a small piece of very cryptic code that I have somewhere to count the number of source files to be processed;

2. Define one or two or three variables, as needed, and include them in your code;

3. After each source file pair is processed, decrement the source file count;

4. When the source file count reaches zero, exit that loop.
WilliShakes
Posts: 6
Joined: Tue Feb 17, 2026 12:56 pm

Re: Création multiples de collections d'images

Post by WilliShakes »

cday wrote: Wed Feb 18, 2026 9:46 pm Meanwhile, I have thought of a possible alternative solution that does not need a FOR loop, if it interests you now that you have a viable solution:

1. Use a small piece of very cryptic code that I have somewhere to count the number of source files to be processed;

2. Define one or two or three variables, as needed, and include them in your code;

3. After each source file pair is processed, decrement the source file count;

4. When the source file count reaches zero, exit that loop.
Plus je connais de façon de faire quelque chose, plus j'ai de chance de m'en sortir en cas de problèmes futurs. Donc j'adorerais apprendre cette autre solution !