0ImageMagick Image Montage Utility4NF,
B

 


Contents






Synopsis

J
montage [ options ...] file [ [=options ...] file ...] output_file








*Back to Contents


Description

A
montage creates a composite image by combining several7separate images. The images are tiled on the composite:image with the name of the image optionally appearing justbelow the individual tile.

?

The composite image is constructed in the following manner.;First, each image specified on the command line, except for6the last, is scaled to fit the maximum tile size. The<maximum tile size by default is 120x120. It can be modifiedCwith the -geometry command line argument or X resource. See"Options3for more information on command line arguments. See?X(1) for more information on X resources. Note that the7maximum tile size need not be a square. To respect the:aspect ratio of each image append ~ to the geometryspecification.

:

Next the composite image is initialized with the color>specified by the -background command line argument or X9resource. The width and height of the composite image is9determined by the title specified, the maximum tile size,6the number of tiles per row, the tile border width and:height, the image border width, and the label height. The8number of tiles per row specifies how many images are to:appear in each row of the composite image. The default is9to have 5 tiles in each row and 4 tiles in each column of@the composite. A specific value is specified with -tile.<The tile border width and height, and the image border width@defaults to the value of the X resource -borderwidth. ItGcan be changed with the -borderwidth or -geometry command<line argument or X resource. The label height is determinedCby the font you specify with the -font command line argument7or X resource. If you do not specify a font, a font is;chosen that allows the name of the image to fit the maximum9width of a tiled area. The label colors is determined byHthe -background and -foreground command line argument or X6resource. Note, that if the background and foreground,colors are the same, labels will not appear.

@

Initially, the composite image title is placed at the top ifAone is specified (refer to -foreground X resource). Next,9each image is set onto the composite image, surrounded by<its border color, with its name centered just below it. The<individual images are left-justified within the width of the8tiled area. The order of the images is the same as they9appear on the command line unless the images have a scene<keyword. If a scene number is specified in each image, then7the images are tiled onto the composite in the order of6their scene number. Finally, the last argument on the9command line is the name assigned to the composite image.BBy default, the image is written in the MIFF format and canbe viewed or printed with 1display.

F

Note, that if the number of tiles exceeds the default number of 20;(5 per row, 4 per column), more than one composite image isLcreated. To ensure a single image is produced, use -tile toBincrease the number of tiles to meet or exceed the number of inputimages.

J

Finally, to create one or more empty spaces in the sequence of tiles,!use the NULL image format.


*Back to Contents






Examples

6
To create a montage of a cockatoo, a parrot, and a5hummingbird and write it to a file called birds, use:

L
montage cockatoo.miff parrot.miff hummingbird.miff birds.miff

<
To tile several bird images so that they are at most 2569pixels in width and 192 pixels in height, surrounded by a;red border, and separated by 10 pixels of background color,use:

T
montage -geometry 256x192+10+10 -bordercolor red birds.* montage.miff

?
To create an unlabeled parrot image, 640 by 480 pixels, and%surrounded by a border of black, use:

[
montage -geometry 640x480 -bordercolor black -label "" parrot.miff bird.miff

C
To create an image of an eagle with a textured background, use:

=
montage -texture bumps.jpg eagle.jpg eagle.png

>
To join several GIF images together without any extraneous:graphics (e.g. no label, no shadowing, no surrounding tile frame), use:

[
montage +frame +shadow +label -tile 5x1 -geometry 50x50+0+0 *.gif joined.gif




*Back to Contents






Options



-adjoin0
join images into a single multi-image file.

N

This option is useful for creating a multi-frame animation sequence withinthe same file (e.g. GIF).

!

-colors value,
preferred number of colors in the image.

8

The actual number of colors in the image may be less3than your request, but never more. Note, this is a7color reduction option. Images with less unique colors6than specified with this option will remain unchanged. Refer to Dquantize for more details.

K

Note, options -dither, -colorspace, and -treedepth%affect the color reduction algorithm.

%

-colorspace valueA
the type of colorspace: GRAY, OHTA, RGB,JTransparent, XYZ, YCbCr, YIQ, YPbPr, or YUV.

7

Color reduction, by default, takes place in the RGB.color space. Empirical evidence suggests that7distances in color spaces such as YUV or YIQ correspond4to perceptual color differences more closely than do4distances in RGB space. These color spaces may give6better results when color reducing an image. Refer toDquantize for more details.

HThe Transparent color space behaves uniquely in that it preserves,the matte channel of the image if it exists.

H

The -colors or -monochrome option is required for thisoption to take effect.

#

-comment string%
annotate an image with a comment.

;

By default, each image is commented with its file name.3Use this option to assign a specific comment to the6image. Optionally you can include the image filename,1type, width, height, or scene number by embeddingCspecial format characters. Embed %f for filename, %mJfor magick, %w for width, %h for height, %s for scene/number, or \n for newline. For example,



-comment "%m:%f %wx%h"

I

produces an image comment of MIFF:bird.miff 512x480 for;an image titled bird.miff and whose width is 512 andheight is 480.

D

If the first character of string is @, the image3comment is read from a file titled by the remainingcharacters in the string.

%

-compose operator"
the type of image composition.

6

By default, each of the composite image pixels are7replaced by the corresponding image tile pixel. You can(choose an alternate composite operation:
    over    in    out    atop    xor    plus	    minus    add    subtract    difference    bumpmap    replace
"The operations behaves as follows:




over>
The result will be the union of the two image shapes, withKcomposite image obscuring image in the region of overlap.

inE
The result is simply composite image cut by the shape ofHimage. None of the image data of image will be in theresult.



out;
The resulting image is image with the shape of!composite image cut out.



atop>
The result is the same shape as image image, withHcomposite image obscuring image where the image shapesCoverlap. Note this differs from over because the portion ofJcomposite image outside image's shape does not appear in the result.



xorG
The result is the image data from both composite image andNimage that is outside the overlap region. The overlap region will beblank.



plus1
The result is just the sum of the image data./Output values are cropped to 255 (no overflow).*This operation is independent of the matte channels.



minusA
The result of composite image - image, with0underflow cropped to zero. The matte channel is$ignored (set to 255, full coverage).



addJ
The result of composite image + image, with overflow#wrapping around (mod 256).



subtractK
The result of composite image - image, with underflowGwrapping around (mod 256). The add and subtract<operators can be used to perform reversible transformations.



differenceJ
The result of abs(composite image - image). This is-useful for comparing two very similar images.



bumpmapA
The result image shaded by composite image.



replace2
The resulting image is image replacedFwith composite image. Here the matte information is ignored.



4
The image compositor requires an matte, or alpha/channel in the image for some operations. This*extra channel usually defines a mask which3represents a sort of a cookie-cutter for the image.2This is the case when matte is 255 (full coverage).for pixels inside the shape, zero outside, and8between zero and 255 on the boundary. If image1does not have an matte channel, it is initialized/with 0 for any pixel matching in color to pixel/location (0,0), otherwise 255 (to work properlyborderwidth must be 0).

"

-compress type2
the type of image compression: Zip orRunlengthEncoded.

;

This option specifies the type of image compression for5the composite image. See miff(5) for details.

<

Specify +compress to store the binary image in an4uncompressed format. The default is the compression!type of the specified image file.

-crop <width>{%}x<height>{%}{+-}<x offset>{+-}<y offset>:
preferred size and location of the cropped image. See9X(1) for details about the geometry specification.

;

To specify a percentage width or height instead, append>%. For example to crop the image by ten percent on all0sides of the image, use -crop 10%.

5

Use cropping to tile only a particular area of an@image. Use -crop 0x0 to remove edges that are thebackground color.

0

The equivalent X resource for this option is\cropGeometry (class CropGeometry). See X RESOURCES for details.

I

-density <width>x<height>>
vertical and horizontal resolution in pixels of the image.

:

This option specifies an image density when decoding a5Postscript or Portable Document page. The default is172 pixels per inch in the horizontal and vertical direction.

D

-display host:display[.screen]7
specifies the X server to contact; see X(1).

A

Specify +display if an X server is not available. The5label font is obtained from the X server. If none is4available, the composite image will not have labels.

!

-dispose method
GIF disposal method.

L

Graphics Interchange Format (GIF) Specification 89a of July 31, 1990 fordetails.



-dither7
apply Floyd/Steinberg error diffusion to the image.

9

The basic strategy of dithering is to trade intensity2resolution for spatial resolution by averaging the2intensities of several neighboring pixels. Images1which suffer from severe contouring when reducing(colors can be improved with this option.

H

The -colors or -monochrome option is required for thisoption to take effect.



-draw string:
annotate an image with one or more graphic primitives.

M

Use this option to annotate an image with one or more graphic primitives.The primitives include



  rectangle  circle	  polygon  color  matte  text  image


N

Rectangle, text, and image requires an upper left andKlower right coordinate. Circle requires the center coordinate and a6coordinate on the outer edge. Finally, polygonLrequires three or more coordinates defining its boundaries. Coordinates areBintegers separated by an optional comma. For example, to define a>circle centered at 100,100 that extends to 150,150 use:



   -draw 'circle 100,100 150,150'


@
Use color to change the color of a pixel. Follow thepixel coordinate with a method:
  point	  replace  floodfill  reset


H

Consider the target pixel as that specified by your coordinate. TheIpoint method recolors the target pixel. The replace method>recolors any pixel that matches the color of the target pixel.HFloodfill recolors any pixel that matches the color of the targetDpixel and is a neighbor. Finally, reset recolors all pixels.

H

Use matte to the change the pixel matte value to transparent.?Follow the pixel coordinate with a method (see the colorAprimitive for a description of methods). The point methodGchanges the matte value of the target pixel. The replace methodBchanges the matte value of any pixel that matches the color of theDtarget pixel. Floodfill changes the matte value of any pixelEthat matches the color of the target pixel and is a neighbor. Finally3reset changes the matte value of all pixels.

?

Use text to annotate an image with text. Follow theCtext coordinates with a string. If the string has embedded spaces,0enclose it in double quotes. Optionally you canCinclude the image filename, type, width, height, or scene number byCembedding special format characters. Embed %f for filename,J%m for magick, %w for width, %h for height, %sIfor scene number, %b for file size in kilobytes, or \n fornewline. For example,
'     -draw 'text 100,100 "%m:%f %wx%h"'


Eannotates the image with MIFF:bird.miff 512x480 for an imageCtitled bird.miff and whose width is 512 and height is 480.

FUse image to composite an image with another image. Follow the0image coordinates with the filename of an image.

K

If the first character of string is @, the text is read=from a file titled by the remaining characters in the string.

MYou can set the primitive color, font color, and font bounding box color withE-pen, -font, and -box respectively. Options are=processed in command line order so be sure to use -pen(before the -draw option.

P

-frame <width>x<height+<outer bevel width>+<inner bevel width>:
surround the image with an ornamental border. See9X(1) for details about the geometry specification.

5

The color of the border is specified with theD-mattecolor command line option. If no frame is desired, use+frame.



-font name6
use this font when annotating the image with text.

AConvert contacts an X server to obtain the font.LIf an X server is not available, a Postscript font is used instead. You can3set the pointsize with -pointsize.

-gamma value
level of gamma correction.

3

The same color image displayed on two different5workstations may look different due to differences in4the display monitor. Use gamma correction to adjust4for this color difference. Reasonable values extendfrom 0.8 to 2.3.

:

You can apply separate gamma values to the red, green,6and blue channels of the image with a gamma value list+delineated with slashes (i.e. 1.7/2.3/1.2).

¨

-geometry <width>x<height>+<border width>+<border height>{!}{<}{>}G
preferred tile and border size of each tile of the composite image.

8

By default, the width and height are maximum values.7That is, the image is expanded or contracted to fit the3width and height value while maintaining the aspect7ratio of the image. Append an exclamation point to the4geometry to force the image size to exactly the size=you specify. For example, if you specify 640x480! the7image width is set to 640 pixels and height to 480. If7only one factor is specified, both the width and heightassume the value.

9

Use > to change the dimensions of the image.only if its size exceeds the geometry;specification. < resizes the image only:if its dimensions is less than the geometry specification.<For example, if you specify 640x480> and the image=size is 512x512, the image size does not change. However, if1the image is 1024x1024, it is resized to 640x480.

6

Each image is surrounded by a border whose size inApixels is specified as <border width> andI<border height> and whose color is the backgroundDcolor. By default, the tile size is 256x256 and there is no border.

0

The equivalent X resource for this option is8imageGeometry (class ImageGeometry). See :X Resources for details.

&

-gravity directionA
direction image gravitates to within a tile. See X(1),for details about the gravity specification.

6

A tile of the composite image is a fixed width and3height. However, the image within the tile may not=fill it completely (see -geometry). The direction you3choose specifies where to position the image within?the tile. For example Center gravity forces the image6to be centered within the tile. By default, the imagegravity is Center.

!

-interlace typeK
the type of interlacing scheme: None, Line, Plane,2or Partition. The default is Plane.

I

This option is used to specify the type of interlacing scheme for rawIimage formats such as RGB or YUV. None means do notHinterlace (RGBRGBRGBRGBRGBRGB...), Line uses scanline interlacingC(RRR...GGG...BBB...RRR...GGG...BBB...), and Plane uses planeLinterlacing (RRRRRR...GGGGGG...BBBBBB...). Partition is like planeIexcept the different planes are saved to individual files (e.g. image.R,image.G, and image.B).

G

Use Line, or Plane to create an interlaced GIF!or progressive JPEG image.



-label name
assign a label to an image.

9

By default, each image is labeled with its file name.1Use this option to assign a specific label to the6image. Optionally you can include the image filename,4type, width, height, or scene number in the label by:embedding special format characters. Embed %f forJfilename, %m for magick, %w for width, %h for height,B%s for scene number, %b for file size in kilobytes,'or \n for newline. For example,
    -label "%m:%f %wx%h"
G
produces an image label of MIFF:bird.miff 512x480 for;an image titled bird.miff and whose width is 512 andheight is 480.

J

If the first character of string is @, the image label6is read from a file titled by the remaining charactersin the string.



-matte-
store matte channel if the image has one.



-mode typeM
the type of montage: Frame, Unframe, or Concatenate.The default is Frame.

I

This option is for convenience. You can obtain the desired result by@setting individual options (e.g. Unframe is equivalent to2+frame +shadow +borderwidth).



-monochrome+
transform the image to black and white.

Ž

-page <width>x<height>{+-}<x offset>{+-}<y offset>7
preferred size and location of the Postscript page.

4

Use this option to specify the dimensions of the4Postscript page in pixels per inch or a TEXT page in7pixels. The default for a Postscript page is to center1the image on a letter page 612 by 792 pixels. The5margins are 1/2" (i.e. 612x792+42+42). Other common sizes are:
    Letter      612x 792    Tabloid     792x1224    Ledger     1224x 792    Legal       612x1008    Statement   396x 612    Executive   540x 720    A3          842x1190    A4          595x 842    A5          420x 595    B4          729x1032    B5          516x 729    Folio       612x 936    Quarto      610x 780    10x14       720x1008
:
For convenience you can specify the page size by media(e.g. A4, Ledger, etc.).

5

The page geometry is relative to the vertical and/horizontal density of the Postscript page. See-density for details.

JTo position a GIF image, use -page +LEFT+TOP (e.g. -page +100+200).

3

The default page dimensions for a TEXT image is612x792.

"

-pointsize value%
pointsize of the Postscript font.

"

-quality value
JPEG quality setting.

:

Quality is 0 (worst) to 100 (best). The default is 75.

-

-rotate degrees{<}{>},
apply Paeth image rotation to the image.

O

Use > to rotate the image only if its width exceeds theNheight. < rotates the image only if its width is less thanLthe height. For example, if you specify -90> and the image sizeFis 480x640, the image is not rotated by the specified angle. However,6if the image is 640x480, it is rotated by -90 degrees.

9

Empty triangles left over from rotating the image are:filled with the color defined as bordercolor (class2borderColor). See X(1) for details.

-scene value
image scene number.



-shadow2
add a shadow beneath a tile to simulate depth.

a

-size <width>{%}x<height>{%}{+offset}{!}"
width and height of the image.

:

Use this option to specify the width and height of rawDimages whose dimensions are unknown such as GRAY, RGB,qor CMYK. In addition to width and height, use -size to skip any header information in the image or;tell the number of colors in a MAP image file, (e.g.-size 640x512+256).

%

-texture filename6
name of texture to tile onto the image background.

F

-tile <width>x<height>H
specifies how many tiles are to appear in each row and column of thecomposite image.

6

Specify the number of tiles per row with width and6tiles per column with height. For example if you want31 tile in each row and a maximum of 10 tiles in the3composite image, use -tile 1x10. The default is to6have 5 tiles in each row and 4 tiles in each column ofthe composite.

'

-transparency color1
make this color transparent within the image.

$

-treedepth value;
Normally, this integer value is zero or one. A zero or;one tells montage to choose a optimal tree depth forthe color reduction algorithm.

.

An optimal depth generally allows the best3representation of the source image with the fastest3computational speed and the least amount of memory.4However, the default depth is inappropriate for some6images. To assure the best representation, try values-between 2 and 8 for this parameter. Refer to$quantize(9) for more details.

H

The -colors or -monochrome option is required for thisoption to take effect.



-verbose/
print detailed information about the image.

;

This information is printed: image scene number; image;name; image size; the image class (DirectClass or?PseudoClass); the total number of unique colors; and2the number of seconds to read and write the image.



<
In addition to those listed above, you can specify theseBstandard X resources as command line options: -background,K-bordercolor, -borderwidth, -font, -foreground,C-mattecolor, or -title. See X!Resources for details.

<Options are processed in command line order. Any option you9specify on the command line remains in effect until it is8explicitly changed by specifying the option again with a:different effect. For example, to montage two images, the8first with 32 colors and the second with only 16 colors,use:



E    montage -colors 32 cockatoo.1 -colors 16 cockatoo.2 cockatoo.miff


8Change - to + in any option above to reverse its effect.CFor example, specify +dither to not apply error diffusion to an image.

7By default, the image format is determined by its magic9number. To specify a particular image format, precede the4filename with an image format name and a colon (i.e.:ps:image) or specify the image type as the filename suffixJ(e.g. image.ps). See convert(1) for a list of valid imageformats.

>When you specify X as your image type, the filename has:special meaning. It specifies an X window by id, name, orAroot. If no filename is specified, the window is selected,by clicking the mouse in the desired window.

LSpecify file as - for standard input, output_file as - forAstandard output. If file has the extension .Z or>.gz, the file is uncompressed with uncompress orgunzip respectively.HIf output_file has the extension compress or gzip:respectively. Finally, precede the image file name with |$to pipe to or from a system command.

K

Use an optional index enclosed in brackets after a file name to specifyCa desired subimage of a multi-resolution image format like Photo CDI(e.g. img0001.pcd[4]) or a range for MPEG images (e.g. video.mpg[50-75]).BA subimage specification can be disjoint (e.g. image.tiff[2,4,7]).GFor raw images, specify a subimage with a geometry (e.g. -size 640x512image.rgb[320x256+50+50]).

<Single images are written with the filename you specify.<However, multi-part images (i.e. a multi-page PostScriptNdocument with +adjoin specified) are written with the filename followedOby a period (.) and the scene number. You can change this behavior byCembedding a printf format specification in the file name. For example,



      image%02d.miff
/montages files image00.miff, image01.miff, etc.

:Note, a composite MIFF image displayed to an X server with>display behaves differently than other images. You can;think of the composite as a visual image directory. Choose8a particular tile of the composite and press a button toBdisplay it. See display(1) and miff(5) for details.



#Back to Contents






X Resources

F
montage options can appear on the command line or in your X<resource file. Options on the command line supersede values<specified in your X resource file. See X(1) for moreinformation on X resources.

C

All montage options have a corresponding X resource. In8addition, montage uses the following X resources:



6

background (class Background):
Specifies the preferred color to use for the composite'image background. The default is #ccc.

8

borderColor (class BorderColor):
Specifies the preferred color to use for the composite#image border. The default is #ccc.

8

borderWidth (class BorderWidth)8
Specifies the width in pixels of the composite imageborder. The default is 2.

*

font (class Font)8
Specifies the name of the preferred font to use when0displaying text within the composite image. The0default is 9x15, fixed, or 5x8 determined by thecomposite image size.

6

foreground (class Foreground)8
Specifies the preferred color to use for text within+the composite image. The default is black.

6

matteColor (class MatteColor):
Specify the color of an image frame. A 3D effect is6achieved by using highlight and shadow colors derived/from this color. The default value is #697B8F.

,

title (class Title)9
This resource specifies the title to be placed at the2top of the composite image. The default is not to0place a title at the top of the composite image.







*Back to Contents






Environment



DISPLAY8
To get the default host, display number, and screen.



*Back to Contents






Copyright

>
Permission to use, copy, modify, distribute, and sell this8software and its documentation for any purpose is hereby6granted without fee, provided that the above copyright8notice appear in all copies and that both that copyright6notice and this permission notice appear in supporting<documentation, and that the name of E. I. du Pont de Nemours3and Company not be used in advertising or publicity<pertaining to distribution of the software without specific,7written prior permission. E. I. du Pont de Nemours and9Company makes no representations about the suitability of6this software for any purpose. It is provided "as is"$without express or implied warranty.

6

E. I. du Pont de Nemours and Company disclaims all6warranties with regard to this software, including all8implied warranties of merchantability and fitness, in no:event shall E. I. du Pont de Nemours and Company be liable9for any special, indirect or consequential damages or any6damages whatsoever resulting from loss of use, data or8profits, whether in an action of contract, negligence or;other tortious action, arising out of or in connection with(the use or performance of this software.


*Back to Contents






Acknowledgements

>
The MIT X Consortium for making network transparentgraphics a reality.

F

Michael Halle, Spatial Imaging Group at MIT, for the5initial implementation of Alan Paeth's image rotation algorithm.

I

David Pensak, E. I. du Pont de Nemours and Company, for8providing a computing environment that made this program possible.

DPaul Raveling, USC Information Sciences Institute. The9spacial subdivision color reduction algorithm is based onhis Img software.



*Back to Contents






Authors

>
John Cristy, G cristy@sympatico.org E.I. du Pont de Nemours and CompanyIncorporated.


*Back to Contents


4[home page]IImage manipulation software that works like magic.