unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (plan9)
Page:
Section:
Apropos / Subsearch:
optional field

FILTERS(9.1)                                                      FILTERS(9.1)



NAME
       adapt,  ahe,  crispen,  laplace,  edge, edge2, edge3, extremum, median,
       nonoise, smooth, shadepic - image neighborhood operators

SYNOPSIS
       fb/adapt [ input ]

       fb/ahe [ input ]

       fb/crispen [ input ]

       fb/laplace [ input ]

       fb/edge [ input ]

       fb/edge2 [ input ]

       fb/edge3 [ input ]

       fb/extremum [ input ]

       fb/median [ input ]

       fb/nonoise [ input ]

       fb/smooth [ input ]

       fb/shadepic [ -lx y z ] [ input ]

DESCRIPTION
       Gathered here are descriptions of programs that compute the  pixels  of
       an  output image by performing some operation on a neighborhood of each
       pixel of their input image  (default  standard  input).   Each  program
       writes  the  output  image  on  standard  output.  The programs process
       multi-channel inputs by treating each channel independently.

       Adapt performs adaptive  contrast  enhancement  by  examining  the  7x7
       region  centered  on  each input pixel, remapping the center pixel lin-
       early in a way that would send the neighborhood's maximum value to  255
       and  its  minimum  to 0.  To avoid divide checks, no mapping is done if
       all pixels in the region have the same value.

       Ahe performs adaptive histogram equalization  by  examining  the  17x17
       region  centered  on  each  input  pixel, counting the number of pixels
       whose value is less than the center pixel. (It counts  for  each  pixel
       equal  to  the  center  value.)   Output pixel values are 255 times the
       count divided by the window size.

       Crispen examines the 3x3 region surrounding each input pixel, computing
       9 times the center pixel minus the sum of its eight neighbors.  This is
       a fairly extreme high-pass filter and sharpens edges substantially.

       Laplace computes 5 times the center pixel minus the  sum  of  its  four
       vertical  and horizontal neighbors.  This adds a 3x3 discrete Laplacian
       to the original image, and is a  less  extreme  high-pass  filter  than
       crispen.

       Edge, edge2, and edge3 detect edges in various ways.  Edge examines the
       3x3 region surrounding each input pixel, outputting 8 times the  center
       value minus the sum of its eight neighbors.

       Edge2 applies a Sobel operator to the input image.  It approximates the
       image's gradient by finite differences  on  a  3x3  neighborhood,  out-
       putting the vector length of the gradient approximation.

       Edge3  likewise approximates the gradient of the input image.  The out-
       put is roughly the phase angle of the  gradient  approximation,  scaled
       between 0 and 255.

       Extremum  examines  the  3x3  region surrounding each input pixel, out-
       putting the value that differs most from the center value.  In case  of
       a tie, the larger candidate is chosen.

       Median  does noise reduction by replacing each pixel of the input image
       by the median of the 3x3 region surrounding it.

       Nonoise implements the Bayer-Powell noise reduction  filter.   It  com-
       putes  the  average  value  of the eight neighbors of each pixel of the
       input image, and substitutes it for the pixel value if the  two  differ
       by more than 64.

       Smooth  low-pass filters its input image by convolution with a Bartlett
       window.

       Shadepic treats its input image as an array  of  elevations.   At  each
       pixel  it  approximates the normal vector to the height-field by finite
       differences on a 3x3 neighborhood and outputs 255 times its dot product
       with  the unit vector in the light-source direction specified by option
       -l (default 1,-1,1).  If the dot product is negative, it is clamped  at
       zero.  (This computation is just Lambertian diffuse reflection.)

SOURCE
       /sys/src/fb

SEE ALSO
       picfile(9.6)

BUGS
       There are too many weird wired-in sizes.



                                                                  FILTERS(9.1)