NAME

     get_histogram, get_histogram_Image - generates  a  histogram
     array/Image from an image

SYNOPSIS

     #include "histogram.h"

     float **get_histogram(Image *imageP)
      <imageP> - pointer to the input Image pointer

     Image *get_histogram_Image(Image* imageP)
      <imageP> - pointer to the input Image pointer

PATH

     $CVIPHOME/HISTOGRAM/histogram.c

DESCRIPTION

     get_histogram takes a pointer to an Image structure and gen-
     erates  a  histogram  from  the input Image structure in the
     form of a pointer to a pointer to a float.  A separate  his-
     togram will be generated for each band in the image.

     get_histogram_Image is  similar  to  get_histogram,  but  it
     returns an Image * of the input Image histogram, and is usu-
     ally used for display purpose.

RETURN VALUES

     On success, get_histogram returns float**, which  is  a  2-D
     array  containing  a  histogram  for each band in the image;
     get_histogram_Image  returns  a  valid  Image  pointer.   On
     failure, both functions return a NULL pointer.

BUGS

     May not work with some gif images.

EXAMPLE

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

      void main()
      {
      Image *cvipImage;
      IMAGE_FORMAT format;
      char *inputfile,*outputfile;
      float **histogram;
      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 generates the histogram of
      the image and returns a double float pointer */
      histogram = get_histogram(cvipImage);
      free(histogram);
      /* the following call generates the histogram of
      the image and returns the image pointer */
      cvipImage = get_histogram_Image(cvipImage);
      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

     define_histogram, hist_spec, histogram_show, histogram_spec,
     make_histogram, showMax_histogram

AUTHOR

     Copyright (C) 1992, 1996 SIUE -  by  Scott  E.  Umbaugh  and
     David Lyons.