Provided by: ssocr_2.19.0-2_amd64 bug

NAME

       ssocr - optical recognition of seven segment displays

SYNOPSIS

       ssocr [OPTION]... [COMMAND]... IMAGE

DESCRIPTION

       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.

OPTIONS

   -h, --help
       Write a help message to standard output.  The default settings are shown as well.

   -V, --version
       Write version information to standard output.

   -v, --verbose
       Print information about program execution to standard error.

   -t, --threshold THRESHOLD
       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.

   -a, --absolute-threshold
       Do not adjust the threshold to the luminance values occuring in the image.   Consider  this  option  when
       using the dynamic_threshold command.

   -T, --iter-threshold
       Use  an  iterative  method  (one-dimensional k-means clustering) to determine the threshold. The starting
       value can be specified with the --threshold option.

   -n, --number-pixels NUMBER
       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.

   -i, --ignore-pixels NUMBER
       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.

   -d, --number-digits NUMBER
       Specifies the number of digits shown in the image. Default value is 6.  Use -1  to  automatically  detect
       the number of digits.

   -r, --one-ratio RATIO
       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.

   -m, --minus-ratio RATIO
       Set the width/height ratio to recognize a minus sign.  This uses the same idea as recognizing  the  digit
       one.

   -o, --output-image FILE
       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 --process-only option.

   -O, --output-format FORMAT
       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.

   -p, --process-only
       Use  ssocr(1)  as  an  image  manipulation  program.   No image recognition is performed.  Should be used
       together with the -B --output-image option.

   -D, --debug-image[=FILE]
       Write 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.

   -P, --debug-output
       Print information helpful for debugging to standard error.

   -f, --foreground COLOR
       Specify  the  foreground  color (either black or white).  This automatically sets the background color as
       well.  Default is black.

   -b, --background COLOR
       Specify the background color (either black or white).  This automatically sets the  foreground  color  as
       well.  Default is white.

   -I, --print-info
       Prints image dimensions and range of used luminance values to standard error.

   -g, --adjust-gray
       Interpret  the  values  T1  and  T2  given  to the command gray_stretch as percentages instead of absolut
       luminance values.

   -l, --luminance KEYWORD
       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.

   -S, --ascii-art-segments
       Prints the recognized segments, i.e. the display as seen by ssocr, as ASCII art to standard error.

   -X, --print-as-hex
       Prints the recognized segments as a string of hexadecimal numbers separated by a colon instead of  digits
       and  characters.   Each  number  comprises  two hexadecimal digits (one byte).  0x01 represents the upper
       horizontal segment, 0x02 represents the upper left vertical segment,  0x04  represents  the  upper  right
       vertical  segment, 0x08 represents the middle horizontal segment, 0x10 represents the lower left vertical
       segment, 0x20 represents the lower right vertical segment, 0x40 represents the lower horizontal  segment,
       0x80  represents  a  decimal point (or comma or thousands separator).  Each hexadecimal number printed is
       the logical or of the set segments.

   -C, --omit-decimal-point
       Omit decimal points from output.  Decimal points are still recognized and counted against the  number  of
       digits.   This  can be used together with automatically detecting the number of digits to ignore isolated
       groups of pixels in an image.

   -c, --charset KEYWORD
       Select the set of characters that ssocr shall recognize.  This affects if a display showing  a  six  with
       missing top segment is recognized as 6 (with digits and decimal) or b (with hexadecimal and full).  Using
       help as KEYWORD prints the list of implemented character set keywords with a  short  description  of  the
       included characters.  The default is full (recognizing all characters known to ssocr in the image).

COMMANDS

   dilation [N]
       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.  If a number N > 1  is  specified,  the  dilation  algorithm  is
       executed N times.

   erosion [N]
       Filter  image using erosion algorithm.  Any pixel with every neighbour pixel set in the source image will
       be set in the filtered image.  If a number N > 1 is specified, the erosion algorithm is executed N times.

   closing [N]
       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.

   opening [N]
       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.

   remove_isolated
       Remove any foreground pixels without neighbouring foreground pixels.

   make_mono
       Convert 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.

   grayscale
       Transform image to gray values using luminance.  The formula to compute luminance can be specified  using
       option --luminance.

   invert
       Set every foreground pixel to background color and vice versa.

   gray_stretch T1 T2
       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.  Together with the option --adjust-gray, the values T1 and
       T2 are interpreted as percentages.

   dynamic_threshold W H
       Convert  the  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.

   rgb_threshold
       Convert 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.

   r_threshold
       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.

   g_threshold
       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.

   b_threshold
       Convert the 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.

   white_border [WIDTH]
       The border of the image is set to the foreground color.  This border is one pixel wide unless a WIDTH > 1
       is specified.

   shear OFFSET
       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 THETA
       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 { horiz | vert }
       Mirror the image horizontally or vertically.

   crop X Y W H
       Use only the subpicture with upper left corner ( X,Y ), width W and height H.

   set_pixels_filter MASK
       Set every pixel in the filtered image that has at least MASK neighbour pixels set in the source image.

   keep_pixels_filter MASK
       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).

LUMINANCE KEYWORDS

       •      rec601

       •      rec709

       •      linear

       •      minimum

       •      maximum

       •      red

       •      green

       •      blue

CHARACTER SET KEYWORDS

       •      full

       •      digits

       •      decimal

       •      hex

EXIT STATUS

       •      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 requested

       •      99, if some other error occured

ENVIRONMENT

       TMP can be used to specify a different directory for temporary files than /tmp.

BUGS

       Imlib2 (and therefore ssocr(1)) does not work well with Netpbm(1) images.

AUTHOR

       ssocr was written by Erik Auerswald <auerswal@unix-ag.uni-kl.de>.

SEE ALSO

       netpbm(1), ImageMagick(1),

       http://www.unix-ag.uni-kl.de/~auerswal/ssocr/