354 lines
12 KiB
Groff
354 lines
12 KiB
Groff
.\" $Id: tiffcrop.1,v 1.1 2007-02-24 14:50:13 dron Exp $
|
|
.\" tiffcrop -- a port of tiffcp extended to include cropping of selections
|
|
.\"
|
|
.\" Copyright (c) 1988-1997 Sam Leffler
|
|
.\" Copyright (c) 1991-1997 Silicon Graphics, Inc.
|
|
.\"
|
|
.\" Permission to use, copy, modify, distribute, and sell this software and
|
|
.\" its documentation for any purpose is hereby granted without fee, provided
|
|
.\" that (i) the above copyright notices and this permission notice appear in
|
|
.\" all copies of the software and related documentation, and (ii) the names of
|
|
.\" Sam Leffler and Silicon Graphics may not be used in any advertising or
|
|
.\" publicity relating to the software without the specific, prior written
|
|
.\" permission of Sam Leffler and Silicon Graphics.
|
|
.\"
|
|
.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
|
|
.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
|
|
.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
|
.\"
|
|
.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
|
|
.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
|
|
.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
|
.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
|
|
.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
|
|
.\" OF THIS SOFTWARE.
|
|
.\"
|
|
.\" Richard Nolde 11/2006 Add support for the options below to extract
|
|
.\" sections of image(s) and to modify the whole image or selected portion
|
|
.\" with rotations, mirroring, and colorscale/colormap inversion of selected
|
|
.\" types of TIFF images when appropriate
|
|
.\"
|
|
.\" Options:
|
|
.\" -U units [in, cm, px ] inches, centimeters or pixels
|
|
.\" -X # horizontal dimension of region to extract expressed in current units
|
|
.\" -Y # vertical dimension of region to extract expressed in current units
|
|
.\" -E t|l|r|b edge to use as origin
|
|
.\" -M #,#,#,# margins from edges for selection: top, left, bottom, right (commas separated)
|
|
.\" -Z #:#,#:# up to six zones of the image designated as zone X of Y,
|
|
.\" e.g. 1:3 would be first of three equal portions measured from reference edge
|
|
.\" -N odd|even|#,#-#,#|last sequences and ranges of images within file to process
|
|
.\" the words odd or even may be used to specify all odd or even numbered images
|
|
.\" the word last may be used in place of a number in the sequence to indicate
|
|
.\" the final image in the file without knowing how many images there are
|
|
.\" -R # rotate image or crop selection by 90,180,or 270 degrees clockwise
|
|
.\" -F h|v flip (mirror) image or crop selection horizontally or vertically
|
|
.\" -I invert the colormap, black to white, for bi-level and grayscale images
|
|
.\"
|
|
.if n .po 0
|
|
.TH TIFFCROP 1 "February 24, 2007" "libtiff"
|
|
.SH NAME
|
|
tiffcrop \- copy (and possibly convert and crop or process) a
|
|
.SM TIFF
|
|
file
|
|
.SH SYNOPSIS
|
|
.B tiffcrop
|
|
[
|
|
.I options
|
|
]
|
|
.I "src1.tif ... srcN.tif dst.tif"
|
|
.SH DESCRIPTION
|
|
.I tiffcrop
|
|
combines one or more files created according to the Tag Image File Format,
|
|
Revision 6.0 into a single
|
|
.SM TIFF
|
|
file. The output file may be compressed using a different algorithm than the
|
|
input files.
|
|
.I tiffcrop
|
|
is most often used to extract portions of an image for processing with bar
|
|
code recognizer or OCR software when that software cannot restrict the region
|
|
of interest to a specific portion of the image or to improve efficiency when
|
|
the regions of interest must be rotated.
|
|
.PP
|
|
By default,
|
|
.I tiffcrop
|
|
will copy all the understood tags in a
|
|
.SM TIFF
|
|
directory of an input file to the associated directory in the output file.
|
|
.PP
|
|
.I tiffcrop
|
|
can be used to reorganize the storage characteristics of data in a file, and
|
|
it will alter or convert the image data content as specified at the same time,
|
|
unlike tiffcp.
|
|
.PP
|
|
.I tiffcrop
|
|
will behave exactly like tiffcp if none of the new options are specified.
|
|
.SH OPTIONS
|
|
.TP
|
|
.B \-N odd|even|#,#-#,#|last
|
|
sequences and ranges of images within file to process. The words
|
|
.B odd
|
|
or
|
|
.B even
|
|
may be used to specify all odd or even numbered images. The word
|
|
.B last
|
|
may be used in place of a number in the sequence to indicate the final image
|
|
in the file without knowing how many images there are. Ranges of images may be
|
|
specified with a dash and multiple sets can be indicated by joining them in a
|
|
comma-separated list. e.g.. use
|
|
.B \-N 1,5-7,last
|
|
to process the 1st, 5th through 7th, and final image in the file.
|
|
.TP
|
|
.B \-E top|bottom|left|right
|
|
use the top, bottom, left, or right edge as origin reference for width and
|
|
length of crop regions. May be abbreviated to first letter.
|
|
.TP
|
|
.B \-U in|cm|px
|
|
units to apply to dimensions for margins and crop regions. Inches or
|
|
centimeters are converted to pixels using the resolution unit specified in the
|
|
TIFF file (which defaults to inches if not specified in the IFD).
|
|
.TP
|
|
.B \-m #,#,#,#
|
|
margins to be removed from the image. The order must be top, left, bottom,
|
|
right with only commas separating the elements of the list. Margins are scaled
|
|
according to the current units and removed before any other extractions are
|
|
computed. Capital M was in use.
|
|
.TP
|
|
.B \-X #
|
|
horizontal (X-axis) dimension of a region to extract relative to the specified
|
|
origin reference. If the origin is the top or bottom edge, the X axis value
|
|
will be assumed to start at the left edge.
|
|
.TP
|
|
.B \-Y #
|
|
vertical (Y-axis) dimension of a region to extract relative to the specified
|
|
origin reference. If the origin is the left or right edge, the Y axis value
|
|
will be assumed to start at the top.
|
|
.TP
|
|
.B \-Z #:#,#:#
|
|
zones of the image designated as position X of Y equal sized portions measured
|
|
from the reference edge, e.g. 1:3 would be first third of the image starting
|
|
from the reference edge minus any margins specified for the confining edges.
|
|
Multiple zones can be specified as a comma separated list but they must
|
|
reference the same edge. To extract the top quarter and the bottom third of an
|
|
image you would use
|
|
.B \-Z 1:4,3:3.
|
|
.TP
|
|
.B \-F horiz|vert
|
|
flip, i.e. mirror, the image or extracted region horizontally or vertically.
|
|
.TP
|
|
.B \-R 90|180|270
|
|
rotate the image or extracted region 90, 180, or 270 degrees clockwise.
|
|
.TP
|
|
.B \-I
|
|
invert the colorspace values for grayscale and bi-level images. This
|
|
would be used to correct negative images that have incorrect PHOTOMETRIC
|
|
INTERPRETATION tags. No support for color images.
|
|
.TP
|
|
.BI \-b " image"
|
|
subtract the following monochrome image from all others processed. This can
|
|
be used to remove a noise bias from a set of images. This bias image is
|
|
typically an image of noise the camera saw with its shutter closed. Bias image
|
|
support is not available with options for cropping, rotating, or inverting the
|
|
image.
|
|
.TP
|
|
.B \-B
|
|
Force output to be written with Big-Endian byte order. This option only has an
|
|
effect when the output file is created or overwritten and not when it is
|
|
appended to.
|
|
.TP
|
|
.B \-C
|
|
Suppress the use of ``strip chopping'' when reading images that have a single
|
|
strip/tile of uncompressed data.
|
|
.TP
|
|
.B \-c
|
|
Specify the compression to use for data written to the output file:
|
|
.B none
|
|
for no compression,
|
|
.B packbits
|
|
for PackBits compression,
|
|
.B lzw
|
|
for Lempel-Ziv & Welch compression,
|
|
.B jpeg
|
|
for baseline JPEG compression,
|
|
.B zip
|
|
for Deflate compression,
|
|
.B g3
|
|
for CCITT Group 3 (T.4) compression,
|
|
and
|
|
.B g4
|
|
for CCITT Group 4 (T.6) compression.
|
|
By default
|
|
.I tiffcrop
|
|
will compress data according to the value of the
|
|
.I Compression
|
|
tag found in the source file.
|
|
.IP
|
|
The
|
|
.SM CCITT
|
|
Group 3 and Group 4 compression algorithms can only
|
|
be used with bi-level data.
|
|
.IP
|
|
Group 3 compression can be specified together with several
|
|
T.4-specific options:
|
|
.B 1d
|
|
for 1-dimensional encoding,
|
|
.B 2d
|
|
for 2-dimensional encoding,
|
|
and
|
|
.B fill
|
|
to force each encoded scanline to be zero-filled so that the
|
|
terminating EOL code lies on a byte boundary.
|
|
Group 3-specific options are specified by appending a ``:''-separated
|
|
list to the ``g3'' option; e.g.
|
|
.B "\-c g3:2d:fill"
|
|
to get 2D-encoded data with byte-aligned EOL codes.
|
|
.IP
|
|
.SM LZW
|
|
compression can be specified together with a
|
|
.I predictor
|
|
value.
|
|
A predictor value of 2 causes
|
|
each scanline of the output image to undergo horizontal
|
|
differencing before it is encoded; a value
|
|
of 1 forces each scanline to be encoded without differencing.
|
|
LZW-specific options are specified by appending a ``:''-separated
|
|
list to the ``lzw'' option; e.g.
|
|
.B "\-c lzw:2"
|
|
for
|
|
.SM LZW
|
|
compression with horizontal differencing.
|
|
.TP
|
|
.B \-f
|
|
Specify the bit fill order to use in writing output data.
|
|
By default,
|
|
.I tiffcrop
|
|
will create a new file with the same fill order as the original.
|
|
Specifying
|
|
.B "\-f lsb2msb"
|
|
will force data to be written with the FillOrder tag set to
|
|
.SM LSB2MSB,
|
|
while
|
|
.B "\-f msb2lsb"
|
|
will force data to be written with the FillOrder tag set to
|
|
.SM MSB2LSB.
|
|
.TP
|
|
.B \-i
|
|
Ignore non-fatal read errors and continue processing of the input file.
|
|
.TP
|
|
.B \-l
|
|
Specify the length of a tile (in pixels).
|
|
.I tiffcrop
|
|
attempts to set the tile dimensions so
|
|
that no more than 8 kilobytes of data appear in a tile.
|
|
.TP
|
|
.B \-L
|
|
Force output to be written with Little-Endian byte order.
|
|
This option only has an effect when the output file is created or
|
|
overwritten and not when it is appended to.
|
|
.TP
|
|
.B \-M
|
|
Suppress the use of memory-mapped files when reading images.
|
|
.TP
|
|
.B \-p
|
|
Specify the planar configuration to use in writing image data
|
|
that has one 8-bit sample per pixel.
|
|
By default,
|
|
.I tiffcrop
|
|
will create a new file with the same planar configuration as
|
|
the original.
|
|
Specifying
|
|
.B "\-p contig"
|
|
will force data to be written with multi-sample data packed
|
|
together, while
|
|
.B "\-p separate"
|
|
will force samples to be written in separate planes.
|
|
.TP
|
|
.B \-r
|
|
Specify the number of rows (scanlines) in each strip of data
|
|
written to the output file.
|
|
By default (or when value
|
|
.B 0
|
|
is specified),
|
|
.I tiffcrop
|
|
attempts to set the rows/strip
|
|
that no more than 8 kilobytes of data appear in a strip. If you specify
|
|
special value
|
|
.B -1
|
|
it will results in infinite number of the rows per strip. The entire image
|
|
will be the one strip in that case.
|
|
.TP
|
|
.B \-s
|
|
Force the output file to be written with data organized in strips
|
|
(rather than tiles).
|
|
.TP
|
|
.B \-t
|
|
Force the output file to be written with data organized in tiles
|
|
(rather than strips).
|
|
options can be used to force the resultant image to be written
|
|
as strips or tiles of data, respectively.
|
|
.TP
|
|
.B \-w
|
|
Specify the width of a tile (in pixels).
|
|
.I tiffcrop
|
|
attempts to set the tile dimensions so
|
|
that no more than 8 kilobytes of data appear in a tile.
|
|
.I tiffcrop
|
|
attempts to set the tile dimensions so
|
|
that no more than 8 kilobytes of data appear in a tile.
|
|
.TP
|
|
.B \-,={character}
|
|
substitute {character} for ',' in parsing image directory indices
|
|
in files. This is necessary if filenames contain commas.
|
|
Note that ',=' with whitespace immediately following will disable
|
|
the special meaning of the ',' entirely. See examples.
|
|
.SH EXAMPLES
|
|
The following concatenates two files and writes the result using
|
|
.SM LZW
|
|
encoding:
|
|
.RS
|
|
.nf
|
|
tiffcrop -c lzw a.tif b.tif result.tif
|
|
.fi
|
|
.RE
|
|
.PP
|
|
To convert a G3 1d-encoded
|
|
.SM TIFF
|
|
to a single strip of G4-encoded data the following might be used:
|
|
.RS
|
|
.nf
|
|
tiffcrop -c g4 -r 10000 g3.tif g4.tif
|
|
.fi
|
|
.RE
|
|
(1000 is just a number that is larger than the number of rows in
|
|
the source file.)
|
|
|
|
To extract a selected set of images from a multi-image TIFF file
|
|
use the -N option described above. Thus, to copy the 1st and 3rd
|
|
images of image file "album.tif" to "result.tif":
|
|
.RS
|
|
.nf
|
|
tiffcrop -N 1,3 album.tif result.tif
|
|
.fi
|
|
.RE
|
|
|
|
Given file "CCD.tif" whose first image is a noise bias
|
|
followed by images which include that bias,
|
|
subtract the noise from all those images following it
|
|
(while decompressing) with the command:
|
|
.RS
|
|
.nf
|
|
tiffcrop -c none -b CCD.tif CCD.tif -d 2 result.tif
|
|
.fi
|
|
.RE
|
|
|
|
.SH "SEE ALSO"
|
|
.BR pal2rgb (1),
|
|
.BR tiffinfo (1),
|
|
.BR tiffcmp (1),
|
|
.BR tiffcp (1),
|
|
.BR tiffmedian (1),
|
|
.BR tiffsplit (1),
|
|
.BR libtiff (3TIFF)
|
|
.PP
|
|
Libtiff library home page:
|
|
.BR http://www.remotesensing.org/libtiff/
|