Blob Blame History Raw
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD><title>Pnmstitch User Manual</title></HEAD>

<BODY>
<H1>pnmstitch</H1>
Updated: July 2002
<BR>
<A HREF="#index">Table Of Contents</A>

<H2>NAME</H2>
pnmstitch - stitch together two panoramic (side-by-side) photographs

<H2 id="synopsis">SYNOPSIS</H2>

<B>pnmstitch</B>
[
[<i>left_filespec</i>] <i>right_filespec</i> |
<br>
<i>left_filespec</i> <i>right_filespec</i> <i>output_filespec</i>
]
<br>
[<b>-width=</b><i>width</i>]
[<b>-height=</b><i>height</i>]
[<b>-xrightpos=</b><i>column</i>]
[<b>-yrightpos=</b><i>row</i>]
[<b>-stitcher=</b>{<b>RotateSliver</b>,
<b>BiLinearSliver</b>,<b>LinearSliver</b>}]
[<b>-filter=</b>{<b>LineAtATime</b>,<b>HorizontalCrop</b>}]
[<b>-output=</b><i>output_filespec</i>]
[<b>-verbose</b>]

<P>All options can be abbreviated to their shortest unique prefix.
You may use two hyphens instead of one.  You may separate an option
name and its value with white space instead of an equals sign.

<H2 id="description">DESCRIPTION</H2>

<p>This program is part of <a href="index.html">Netpbm</a>.

<P><b>pnmstitch</b> stitches together two panoramic photographs.  This
means if you have photographs of the left and right side of something
that is too big for a single camera frame, <b>pnmstitch</b> can join them
into one wide picture.

<p><b>pnmstitch</b> works only on side-by-side images, not top and bottom
(though you could certainly use <b>pamflip</b> in combination with
<b>pnmstitch</b> to achieve this).  It stitches together two images, but
you can use it repeatedly to stitch together as many as you need to.

<p>Your photographs must overlap in order for <b>pnmstitch</b> to
work, and the overlap should be substantial.  <b>pnmstitch</b> shifts
and stretches the right hand image to match it up the left hand image.
You probably want to crop the result with <b>pamcut</b> to make a nice
rectangular image.

<p>If you're just trying to join (concatenate) two images at their edges, use
<b>pnmcat</b>.

<p>The <i>left_filespec</i> and <i>right_filespec</i> arguments are the
specifications (names) of the PNM files containing the left hand and
right hand images.  If you specify only <i>right_filespec</i>, the
left hand image comes from Standard Input.  If you specify neither, both
images come from Standard Input as a multi-image file containing first the
left and then the right image.

<p><i>output_filespec</i> is the specification (name) of the output PNM file.
The <b>-output</b> option also specifies the output file.  You cannot specify
both the argument and the option.  If you specify neither, the output goes to
Standard Output.


<H2 id="options">OPTIONS</H2>

<DL COMPACT>
<DT><B>-width=<i>width</i></B>
<DT><B>-height=<i>height</i></B>
<DT><B>-xrightpos=<i>column</i></B>
<DT><B>-yrightpos=<i>row</i></B>
<DD>
These are constraints on where <b>pnmstitch</b> stitches the images together.
For the <b>LinearSliver</b> method, <i>column</i> and <i>row</i> tell what
location in the right hand image matches up to the top right corner of the
left hand image.
     
<DT><b>-stitcher=</b>{<b>RotateSliver</b>,<b>BiLinearSliver</b>,
<b>LinearSliver</b>}

<DD>The default is <b>RotateSliver</b>.

<dt><b>-filter=</b>{<b>LineAtATime</b>,<b>HorizontalCrop</b>}

<DD>No details available.
     
<dt><b>-output=</b><i>output_filespec</i>

<DD>Name of output file.  If you don't specify this option, the output image
goes to Standard Output.

<DT><B>-verbose</B>

<DD>This option causes <b>pnmstitch</b> to issue messages to Standard Error
about the stitching process.
     
</DL>

<H2 id="seealso">SEE ALSO</H2>

<B><A HREF="pamcut.html">pamcut</A></B>,
<B><A HREF="pnmcat.html">pnmcat</A></B>,
<B><A HREF="pamflip.html">pamflip</A></B>,
<B><A HREF="pnm.html">pnm</A></B>,

<H2 id="history">HISTORY</H2>

<p>This program was added to Netpbm in Release 10.7 (August 2002).

<HR>
<H2 id="index">Table Of Contents</H2>
<UL>
<LI><A HREF="#synopsis">SYNOPSIS</A>
<LI><A HREF="#description">DESCRIPTION</A>
<LI><A HREF="#options">OPTIONS</A>
<LI><A HREF="#seealso">SEE ALSO</A>
<LI><A HREF="#history">HISTORY</A>
</UL>
</BODY>
</HTML>