Provided by:
exactimage_0.7.4-2ubuntu1_i386 
NAME
econvert - Image converter of the ExactImage library
SYNOPSIS
econvert [--background] [--bicubic-scale] [--bilinear-scale] [--blur]
[--box-scale] [--brightness] [--colorspace] [--compress] [--contrast]
[--convolve] [--crop] [--ddt-scale] [--decompress] [--deinterlace]
[--deskew] [--edge] [--fast-auto-crop] [--flip] [--flop] [--floyd-
steinberg] [--foreground] [--gamma] [--hue] [-i|--input INPUT]
[--lightness] [--line] [--nearest-scale] [--negate] [--normalize]
[-o|--output OUTPUT] [--quality] [--resolution] [--riemersma]
[--rotate] [--saturation] [--scale] [--size] [--split] [--text]
econvert --help
DESCRIPTION
ExactImage is a fast C++ image processing library. Unlike ImageMagick,
it allows operation in several color spaces and bit depths natively,
resulting in much lower memory and computational requirements. Some
optimized algorithms operate in 1/20 of the time ImageMagick requires,
and displaying large images can be as fast as 1/10 of the time the
"display" program takes.
econvert is a command line frontend for the image processing library
and mimicks Imagemagick’s convert. However since some aspects of the
convert arguments are too limited (e.g. even now we have two
ditherizers to select from) or annoying (colorspace conversion is quite
unintuitive to control with Imagemagick and the data is often blown up
to an more generic colorspace) the econvert syntax never will be 1:1
compatible with convert. Also because those options only start with one
dash (-) ... or are named density rather than resolution and so on.
OPTIONS
--background
Background color used for operations.
--bicubic-scale
Scale image data with bi-cubic filter.
--bilinear-scale
Scale image data with bi-linear filter.
--blur
Gaussian blur.
--box-scale
(Down)scale image data with box filter.
--brightness
Change image brightness.
--colorspace
Convert image colorspace (BW, BILEVEL, GRAY, GRAY1, GRAY2, GRAY4,
RGB, YUV, CYMK).
--compress
Compression method for writing images (e.g. G3, G4, Zip, ...)
depending on the output format, a reasonable setting by default.
--contrast
Change image contrast.
--convolve
Convolution matrix.
--crop
Crop an area out of an image: x,y,w,h.
--ddt-scale
Scale image data with data dependant triangulation.
--decompress
Decompression method for reading images (e.g. thumb) depending on
the input format, allowing to read partial data.
--deinterlace
Shuffleg every 2nd line.
--deskew
Deskew digitalized paper.
--edge
Edge detect filter.
--fast-auto-crop
Fast auto crop.
--flip
Flip the image vertically.
--flop
Flip the image horizontally.
--floyd-steinberg
Floyd Steinberg dithering using n shades.
--foreground
Foreground color used for operations.
--gamma
Change image gamma.
--hue
Change image hue.
-i|--input INPUT
Input file or ’-’ for stdin, optionally prefixed with format: e.g:
jpg:- or raw:rgb8-dump.
--lightness
Change image lightness.
--line
Draw a line: x1, y1, x2, y2.
--nearest-scale
Scale image data to nearest neighbour.
--negate
Negates the image.
--normalize
Transform the image to span the full color range.
-o|--output OUTPUT
Output file or ’-’ for stdout, optinally prefix with format: e.g.
jpg:- or raw:rgb8-dump.
--quality
Quality setting used for writing compressed images integer range
0-100, the default is 75.
--resolution
Set meta data resolution in dpi to x[xy] e.g. 200 or 200x400.
--riemersma
Riemersma dithering using n shades.
--rotate
Rotation angle.
--saturation
Change image saturation.
--scale
Scale image data using a method suitable for specified factor.
--size
Width and height of raw images whose dimensions are unknown.
--split
Filenames to save the images split in Y-direction into n parts.
--text
Draw text: x1, y1, height, text.
--help
Displays help text and exits.
EXAMPLES
Basics
First image data must be read using -i or --input, processing routines
are selected by their name with two leading dashes (e.g. --rotate) and
at any point the data might be written into a file with -o or --output,
for example:
$ econvert -i lenea.tiff --box-scale 0.5 -o medium.png --box-scale 0.5
-o little.png
Since version 0.3 the library tries to delay image decoding as much as
possible and provides lossless and accelerated algorithms to work on
compressed data (such as JPEGs) directly:
$ econvert -i AV220-Scan.JPG --resolution 300x300 -o 1.jpg --rotate 90
-o 2.jpg --rotate 180 -o 3.jpg --rotate -90 -o 4.jpg --flip -o 5.jpg
--flop -o 6.jpg --scale 0.25 -o thumb.jpg
In this example 1.jpg will be created from the original JPEG DCT
coefficients, those coefficients will be rearranged and 2.jpg, 3.jpg,
4.jpg, 5.jpg and 6.jpg will be written without any additional loss in
precision (no new JPEG artefacts) and with outstanding speed. Only at
the end, for image thumb.jpg, the DCT will actually be decoded - but
due to the accelerated JPEG scaling only partially! The whole chain of
operations applied to an 8 bit RGB JPEG only takes 0.99s on 2GHz Intel
Core2.
Thumbnails of black and white (bi-level) images
When 1 bit, black and white, images are scaled down the output often
might look pretty awful. The box scaling algorithm usually does a
pretty good job thumbnailing b/w images, however as the ExactImage
algorithms always operate in the color-space the image data is stored
in the colorspace must be changed (e.g. to 8 bit gray) before applying
the box scaler. At the end the result might be converted back to just a
few shades of gray such as 2 or 4 bit:
$ econvert -i avision-bw-scan.pbm --colorspace gray8 --box-scale 0.125
--colorspace gray2 -o thumb.png
Slightly faster JPEG down-scaling
As outlined in the lossless JPEG page, ExactImage is slightly slower
than EPEG, though with noticeable higher output quality. If you do not
care about quality, only about bare thruput (maybe in an web
application?) you can force nearest neighbor scaling by just specifing
a scale factor the JPEG decoder can accellerate (1/2, 1/4, or 1/8) and
apply the remaining scalling manually. To archive a faster scaling with
the effective factor 0.33:
$ econvert -i big.jpg --scale .5 --nearest-scale 0.66 -o thumb.jpg
Working with digital camera RAW data
Digital still camera raw images differ from model to model and are
sometimes even obfuscated to prevent loading by third parties. However,
ExactImage supports a wide range of RAW formats thanks to the embedded
dcraw code (we had to embed a copy of dcraw as the orignal project is
only available as a command line program and not in form of a library -
ExactImage needs to have some more control about how the image data is
passed around, e.g. in memory and not by pipes).
Usually decoding of RAW data should be transparent and automatic,
however some formats also are valid TIFF files and the embedded
thumbnail might be picked by ExactImage’s TIFF support in favour of the
actual RAW content. This this cases the dcraw backend decoder can
explicitly be request with the decoder prefix of the input parameter:
$ econvert -i dcraw:img_0123.cr2 ...
As of version 0.6.5 ExactImage also allows to quickly extract the
embedded thumbnail preview, if any, by specifing "thumb"(nail) as
decompress argument before the image is loaded:
$ econvert --decompress thumb -i dcraw:img_0123.cr2 ...
This usually just takes parts of a second and is useful to generate
previews, galleries, etc.
Loading real raw data
While working on algorithms, dumping frame-buffer content or doing
low-level driver development it often is handy to also load arbitrary
RAW pixel data. Via the "raw:" codec specification this is possible in
econvert. As econvert does use the current color-depth (colorspace) and
size for the raw data they have to be specified before loading the
image like this:
$ econvert --size 1696x32 --colorspace rgb8 -i raw:data-file ...
SEE ALSO
exactimage(7)
bardecode(1)
e2mtiff(1)
edentify(1)
empty-page(1)
hocr2pdf(1)
optimize2bw(1)
HOMEPAGE
More information about econvert and the ExactImage project can be found
at <http://www.exactcode.de/site/open_source/exactimage/>.
AUTHOR
ExactImage was written by ExactCODE GmbH <http://www.exactcode.de/>.
This manual page was written by Daniel Baumann <daniel@debian.org>, for
the Debian project (but may be used by others).