Table of Contents
ssocr - optical recognition of seven segment displays
[OPTION]... [COMMAND]... IMAGE
ssocr reads an image file containing
the picture of a seven segment display, recognizes the displayed digits
and prints them to standard output. All image formats known by imlib2 are
supported. Use - as file name to read the image from standard input. ssocr
provides several image manipulation algorithms to enhance noisy images.
Write a help message to standard output. The default settings
are shown as well.
Write version information to standard output.
Print information about program execution to standard error.
Specify a percentage value as luminance threshold to
differentiate between black and white. This threshold is adjusted to the
luminance values occurring in the image, unless option --absolute-threshold
is used. The default threshold is 50.
Do not adjust the
threshold to the luminance values occuring in the image. Consider this option
when using the dynamic_threshold command.
Use an iterative
method (one-dimensional k-means clustering) to determine the threshold. The
starting value can be specified with the --threshold option.
Set the number of foreground pixels that have to be found in a scanline
to recognize a segment. Can be used to ignore some noise in the picture.
See the web page of ssocr(1) for a description of the algorithm.
Set the number of foreground pixels that are ignored when deciding
if a column consists only of background or foreground pixels. Can be used
to ignore some noise in the picture. See the web page of ssocr(1) for a
description of the algorithm.
Specifies the number
of digits shown in the image. Default value is 6. Use -1 to automatically
detect the number of digits.
Set the height/width ratio
threshold to recognize a digit as a one. RATIO takes integers only. See the
web page of ssocr(1) for a description of the algorithm.
the width/height ratio to recognize a minus sign. This uses the same idea
as recognizing the digit one.
Write the processed image
to FILE. Use - to write to standard output. Unless this option is used no
image is written to disk. If a standard filename extension is used it is
interpreted as the image format to use. Can be useful together with the
Specify the image format to use
with --output-image. This format must be recognized by imlib2. Standard filename
extensions are used to describe the format. Overwrites the image file format
automatically determined via the filename. If no format is specified via
this option or the filename, png is used.
Use ssocr(1) as
an image manipulation program. No image recognition is performed. Should
be used together with the -B --output-image option.
a debug image showing the results of thresholding, segmentation and character
recognition to disk. The image is written to the file testbild.png unless
a filename FILE is given.
Print information helpful for debugging
to standard error.
Specify the foreground color (either
black or white). This automatically sets the background color as well. Default
Specify the background color (either black
or white). This automatically sets the foreground color as well. Default
Prints image dimensions and range of used luminance
values to standard error.
Interpret the values T1 and T2 given
to the command gray_stretch as percentages instead of absolut luminance
Choose the type of luminace computation. Using
help as KEYWORD prints the list of implemented luminance keywords with
a short description of the used formula. The default of Rec709 should work
well in most cases.
Filter image using dilation algorithm.
Any pixel with at least one neighbour pixel set in the source image will
be set in the filtered image.
Filter image using erosion algorithm.
Any pixel with every neighbour pixel set in the source image will be set
in the filtered image.
Filter image using closing algorithm,
i.e. erosion and then dilation. If a number N > 1 is specified, N times dilation
and then N times erosion is executed.
Filter image using opening
algorithm, i.e. dilation and then erosion. If a number N > 1 is specified,
N times dilation and then N times erosion is executed.
any foreground pixels without neighbouring foreground pixels.
the image to monochrome using thresholding. The threshold can be specified
with option --threshold and is adjusted to the used luminance interval of
the image unless option --absolute-threshold is used.
to gray values using luminance. The formula to compute luminance can be
specified using option --luminance.
Set every foreground pixel to background
color and vice versa.
Transform image so that the luminance
interval [ T1,T2 ] is projected to [ 0,255 ] with any value below T1 set
to 0 and any value above T2 set to 255.
image to monochrome using dynamic thresholding a.k.a local adaptive thresholding.
A window of width W and height H around the current pixel is used to determine
the (local) thresholding value. Consider using the --absolute-threshold option
together with a manually adjusted --threshold for predictable results.
the image to monochrome using simple thresholding for every color channel.
This is the same as --luminance=minimum make_mono. You should use --luminance=minimum
and make_mono or dynamic_threshold instead.
Convert the image
to monochrome using simple thresholding. Only the red color channel is used.
This is the same as --luminance=red make_mono. You should use --luminance red
and make_mono or dynamic_threshold instead.
Convert the image
to monochrome using simple thresholding. Only the green color channel is
used. This is the same as --luminance=green make_mono. You should use --luminance
green and make_mono or dynamic_threshold instead.
image to monochrome using simple thresholding. Only the blue color channel
is used. This is the same as --luminance=blue make_mono. You should use --luminance
blue and make_mono or dynamic_threshold instead.
border of the image is set to the foreground color. This border is one pixel
wide unless a WIDTH > 1 is specified.
Shear the image OFFSET
pixels to the right. The OFFSET is used at the bottom. Image dimensions do
not change, pixels in background color are used for pixels that are outside
the image and shifted inside. Pixels shifted out of the image are dropped.
Many seven segment displays use slightly skewed digits, this command can
be used to compensate this.
Rotate the image THETA degrees clockwise
around the center of the image. Image dimensions do not change, pixels rotated
out of the image area are dropped, pixels from outside the image rotated
into the new image are set to the background color.
Mirror the image horizontally or vertically.
Use only the subpicture
with upper left corner ( X,Y ), width W and height H.
Set every pixel in the filtered image that has at least MASK neighbour
pixels set in the source image.
Keep only those foreground
pixels in the filtered image that have at least MASK neighbour pixels set
in the source image (not counting the checked pixel itself).
TMP can be used to
specify a different directory for temporary files than /tmp.
(and therefore ssocr(1)) does not work well with Netpbm(1) images.
was written by Erik Auerswald <firstname.lastname@example.org>.
- 0, if the correct
number of digits have been recognized
- 1, if an incorrect number of digits
have been found
- 2, if not all digits have been recognized
- 3, if only image
processing was requested and successful
- 42, if help or version info was
- 99, if some other error occured
Table of Contents
- -h, --help
- -V, --version
- -v, --verbose
- -t, --threshold THRESHOLD
- -a, --absolute-threshold
- -T, --iter-threshold
- -n, --number-pixels NUMBER
- -i, --ignore-pixels NUMBER
- -d, --number-digits NUMBER
- -r, --one-ratio RATIO
- -m, --minus-ratio RATIO
- -o, --output-image FILE
- -O, --output-format FORMAT
- -p, --process-only
- -D, --debug-image[=FILE]
- -P, --debug-output
- -f, --foreground COLOR
- -b, --background COLOR
- -I, --print-info
- -g, --adjust-gray
- -l, --luminance KEYWORD
- Luminance Keywords
- Exit Status
- See Also