NAME

     igs_segment - improved gray-scale quantization

SYNOPSIS

     Image * igs_segment(Image * inputImage, int gray_level)

      <inputImage> - pointer to an Image
      <gray_level> - gray level of the output image

PATH

     $CVIPHOME/SEGMENTATION/igs_segment.c

DESCRIPTION

     This  function  remaps  (quantizes)  an  image  to  a  user-
     specified  number  of gray levels to overcome the false con-
     touring present in uniform quantization.  It  uses  improved
     gray-scale (igs_segment) quantization introduced on page 318
     of  the   following   book:    Digital   Image   Processing,
     R.C.Gonzalez & R.Woods, Addison-Wesley, 1992.

TYPES AND CONSTANTS

     None

RETURN VALUES

     Upon successful completion, returns a non-NULL pointer; oth-
     erwise, returns NULL.

HISTORY

     History information recorded: None

DIAGNOSTICS

     If the input image is not a  CVIP_BYTE  image,  it  will  be
     remapped   to   CVIP_BYTE   before  processing.  It  can  be
     multi_band and assumed to be real only.

EXAMPLE

      #include <CVIPtoolkit.h>
      #include <CVIPimage.h>
      #include <CVIPdef.h>
      #include <CVIPconvert.h>
      #include <CVIPview.h>
      #define VIEWER "picture"
      #define VIDEO_APP "SunVideo &"

      void main()
      {
      Image *cvipImage;
      IMAGE_FORMAT format;
      char *inputfile,*outputfile;

      setDisplay_Image(VIEWER, "Default");

      print_CVIP("\n\t\tEnter the  Input File Name:  ");
      inputfile =(char *) getString_CVIP();
      format = getFormat_CVIP(inputfile);
      cvipImage = read_Image(inputfile,1);
      view_Image(cvipImage, inputfile);
      free(inputfile);
      /* the following call remaps the desired number of gray
      levels to 2 */
      cvipImage = (Image *)igs_segment(cvipImage,2);
      print_CVIP("\n\t\tEnter the Output File Name:  ");
      outputfile = getString_CVIP();
      view_Image(cvipImage,outputfile);
      write_Image(cvipImage,outputfile,CVIP_NO,CVIP_NO,format,1);
      free(outputfile);
      }

SEE ALSO

     libsegment

AUTHOR

     Copyright (C) 1996 SIUE - by Scott E.  Umbaugh  and  Wenxing
     Li.