JPEGPIXI(1)

NAME
jpegpixi - interpolate pixels in JFIF (JPEG) image files

SYNOPSIS
jpegpixi [OPTION]... SOURCE DEST [[D:]X,Y[,S]|[,SX,SY]]...

DESCRIPTION
Jpegpixi interpolates pixels or pixel blocks in JFIF images files (commonly referred to as "JPEG images"). This is useful to correct images from a digital camera with CCD defects. Only DCT blocks which contain pixels to be interpolated are decoded and re-encoded, and the re-encoding is performed with exactly the same parameters with which the image has originally been encoded. Therefore, the image quality is preserved as much as possible.

SOURCE and DEST are the filenames of the source file and the destination file, respectively. In both cases, - can be used, which refers to standard input or standard output.

The destination filename is followed by any number of pixel or pixel block specifications. It starts with an optional direction specifier (D), which can be 2 for 2-dimensional interpolation (the default), V or v for 1-dimensional vertical interpolation (e.g. to remove horizontal stripes), or H or h for 1-dimensional horizontal interpolation. X,Y are the coordinates of the pixel or the upper-left corner of the pixel block. S is the size of the pixel block (1 by default). Alternatively, separate sizes can be specified for the width (SX) and the height (SY).

All numbers (X, Y, S, SX, SY) can be expressed as absolute coordinates/sizes or percentages of the image size. If a number is followed by a percent character (%), it is interpreted as a percentage, otherwise as an absolute number.

OPTIONS

-f FILE, --blocks-file=FILE
    Read pixel block specifications from file FILE in addition to the command line. The file should contain one specification ([D:]X,Y[,S]|[,SX,SY]) per line. Empty lines are ignored. The file may also contain comments, which start with an octothorpe (#) and extend to the end of the line.

-m METHOD, --method=METHOD
    Use interpolation method METHOD (default: linear). See section INTERPOLATION METHODS below.

-v, --verbose
    Display the coordinates and size of each pixel block that is interpolated.

-i, --info
    Display information about the image, such as the size of the image, the colorspace in which it is encoded, and sampling rates for the different components.

-s, --strip
    Do not copy comment and extra markers from the source to the destination file. This strips preview images, EXIF data, and similar information.

--help
    Display a short help text and exit immediately.

--version
    Display version information and exit immediately.

INTERPOLATION METHODS

0, av, average
    The pixels adjacent to the pixel block are averaged. The resulting color is assigned to all pixels in the block. For 1-dimensional interpolation, this is done separately for one pixel wide, horizontal or vertical stripes.

1, li, linear
    The pixels which have a distance of 1 from the pixel block are used to calculate a bilinear surface (2-dim), or a group of linear curves (1-dim), which is then used to assign colors to the pixels in the block.

2, qu, quadratic
    The pixels which have a distance of 2 or less from the pixel block are used to calculate a biquadratic surface (2-dim), or a group of quadratic curves (1-dim), which is then used to assign colors to the pixels in the block.

3, cu, cubic
    The pixels which have a distance of 3 or less from the pixel block are used to calculate a bicubic surface (2-dim), or a group of cubic curves (1-dim), which is then used to assign colors to the pixels in the block.

BUGS
Please report bugs to <martin-jpegpixi@zero-based.org>.

COPYRIGHT
Copyright © 2002, 2003, 2004, 2005 Martin Dickopp

Jpegpixi is free software; it may be copied and/or modified under the terms of the GNU General Public License version 2 or (at your option) any later version. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
jpeghotp(1)

The jpegpixi homepage: http://www.zero-based.org/software/jpegpixi/