2010-05-17 10 views
43

Cela semble être une question assez courante, alors je vais lui demander d'utiliser autant de mots-clés que je peux penser!Collage des images de mosaïques en utilisant la commande de montage de imagemagick sans redimensionner

J'ai un tas de (bien, neuf) jpeg de tuile, avec des noms de fichiers de tuiles standard. Chaque jpeg est 220x175 pixels:

(top row) 
tile_1_0_0.jpg 
tile_1_1_0.jpg 
tile_1_2_0.jpg 
(middle row) 
tile_1_0_1.jpg 
tile_1_1_1.jpg 
tile_1_2_1.jpg 
(bottom row) 
tile_1_0_2.jpg 
tile_1_1_2.jpg 
tile_1_2_2.jpg 

Comment puis-je utiliser ImageMagick/montage pour « colle » ou les joindre tous ensemble pour faire une seule image cohérente? Je ne veux pas les redimensionner du tout, donc je suppose que l'image finale devrait être 660x525.

Ce serait un montage sans encadrement, ombrage, bordure, etc - juste les neuf images originales, collées ensemble pour faire un seul jpeg.

je sais que ce doit être quelque chose dans ce sens, mais je me bats à obtenir l'ordre et le dimensionnement droite:

montage +frame +shadow +label -tile 3x3 -geometry <options> *.jpg joined.jpg 
+0

Également possiblement en rapport: [enlever un tilespace supplémentaire d'une image composite de montage (ImageMagick)? - Unix et Linux] (http://unix.stackexchange.com/questions/4046/remove-extra-tilespace-from-a-montage-imagemagick-composite-image/63463#63463) – sdaau

Répondre

35

que je cherchais à faire quelque chose de similaire et a fini ici (je suppose que votre " autant de mots-clés que possible "chose travaillée". Voici ce que j'ai trouvé qui a fonctionné pour moi. (La géométrie et la tuile ajustée pour vos besoins)

montage -border 0 -geometry 660x -tile 3x3 tile* final.jpg 

Les fichiers sont ajoutés aux tuiles horizontalement, donc, pour -tile 4x2, la disposition serait:

1 2 3 4 
5 6 7 8 

Les chiffres étant les positions relatives des noms de fichiers dans la liste d'arguments.

Pour autant que je peux dire, tile* se développer dans l'ordre alphabétique, vous devez soit indiquer vos noms de fichiers manuellement, ou renommer alors de sorte qu'ils sorte de façon appropriée, par exemple:

# top row 
tile_r0_c0.jpg 
tile_r0_c1.jpg 
tile_r0_c2.jpg 
# middle row 
tile_r1_c0.jpg 
tile_r1_c1.jpg 
tile_r1_c2.jpg 
# bottom row 
tile_r2_c0.jpg 
tile_r2_c1.jpg 
tile_r2_c2.jpg 
+0

Je supposais que '660x' était le taille finale (3 images @ 220px chacune). En lisant [l'exemple] (http://www.imagemagick.org/Usage/montage/#geometry_size), je pense que le drapeau '-geometry' redimensionne * chaque * image à cette taille (donc, en utilisant' -geometry 220x' maintiendrait la taille d'origine dans ce cas). Est-ce que cela semble correct? – Hendy

23

solution de Dave n'a pas travailler pour moi, alors j'ai trouvé une meilleure réponse here. Essayez ceci:

montage -mode concatenate -tile 3x3 tile*.jpg result.jpg 

cela fonctionne aussi sans le second "3"

montage -mode concatenate -tile 3x tile*.jpg result.jpg 

la ligne complète pour les utilisateurs Windows est:

"C:\Program Files\ImageMagick-6.8.0-Q16\montage.exe" -mode concatenate -tile 3x tile*.jpg result.jpg 

(changer le « 6.8.0-Q16 "avec votre propre version d'ImageMagick, bien sûr)

+0

A travaillé parfaitement! – max

+0

J'ai installé ImageMagick sur Windows mais je ne vois pas le fichier montage.exe –

+0

Assurez-vous de vérifier l'option d'installation ImageMagick "Installer les utilitaires hérités (par exemple convertir)". (testé avec la version 7.0.7) – user2704917

Questions connexes