glenda.party
term% ls -F
term% cat index.txt
FLOYD(9.1)                                                          FLOYD(9.1)



NAME
       floyd, halftone, hysteresis - create 1-bit images by dithering

SYNOPSIS
       fb/floyd [ input ]

       fb/halftone screen [ input ]

       fb/hysteresis low high [ input ]

DESCRIPTION
       Floyd  reads  a grey-scale input file (default standard input), and re‐
       duces it to one bit per  pixel  using  Floyd-Steinberg  error-diffusion
       dither,  as  improved  by  Ulichney.  The resulting TYPE=bitmap picture
       file is written to standard output.

       Ulichney's algorithm involves randomly varying the Floyd-Steinberg dif‐
       fusion coefficients.  As the random number generator is seeded from the
       clock, floyd may produce different output if rerun on the same input.

       Halftone reduces grey-scale images to one bit per pixel  using  ordered
       dither.   The screen argument is the name of a file containing a dither
       matrix.  Halftone searches for screens in /lib/fb/screens.

       Hysteresis creates one-bit-per-pixel images by thresholding  with  hys‐
       teresis.  Any value in the input image less than low is mapped to zero.
       Any input value less than high is mapped to zero if any  of  its  eight
       neighbors is less than low.  If low and high are equal, this is just an
       ordinary thresholding operation.

       Hysteresis makes a useful edge-detection operator if used  on  a  high-
       pass filtered image.

FILES
       /lib/fb/screens/*

SOURCE
       /sys/src/fb/floyd.c
       /sys/src/fb/halftone.c
       /sys/src/fb/hysteresis.c

SEE ALSO
       picfile(9.6)



                                                                    FLOYD(9.1)