home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / desklib / examples / DeskLib / Examples / Widget5 / !Widget5 / h / Process < prev    next >
Encoding:
Text File  |  1995-05-12  |  2.9 KB  |  87 lines

  1. /************************************************************************
  2.  *                                                                      *
  3.  *        File: Process.h                                               *
  4.  *                                                                      *
  5.  *     Purpose: Performs actual image processing functions              *
  6.  *                                                                      *
  7.  ************************************************************************/
  8.  
  9. /*
  10.  * copies 'sourceimage' to 'destimage'
  11.  */
  12. void Process_Copy(int sourceimage, int destimage, wimp_point *size);
  13.  
  14.  
  15.  /*
  16.   * adds 'sourceimage' to 'destimage'
  17.   */
  18. void Process_Add(int sourceimage, int destimage, wimp_point *size);
  19.  
  20.  
  21.  /*
  22.   * adds 'sourceimage' to 'destimage' and divides by 2
  23.   */
  24. void Process_Average(int sourceimage, int destimage, wimp_point *size);
  25.  
  26.  
  27. /*
  28.  * convolves 'sourceimage' to 'destimage' using 'filter'
  29.  * if overwrite is FALSE then the destination image is added to rather than overwritten
  30.  */
  31. void Process_Convolve(int sourceimage, int destimage, wimp_point *size,
  32.                       wimp_point *anchor, int (*filter)[3][3], BOOL overwrite);
  33.  
  34.  /*
  35.   * 3x3 median filters 'sourceimage' to 'destimage'
  36.   */
  37. void Process_Median(int sourceimage, int destimage, wimp_point *size);
  38.  
  39.  /*
  40.   * calculates grey level histogram for 'sourceimage' and uses it to do calculate
  41.   * the greymap for histogram equalization
  42.   */
  43. void Process_HistogramEq(int sourceimage, wimp_point *size, char (*greymap)[]);
  44.  
  45.  /*
  46.   * calculates grey level histogram for 'sourceimage' and places it in the array
  47.   * 'greyhist'
  48.   */
  49. void Process_GreyHistorgram(int sourceimage, wimp_point *size, int (*greyhist)[256]);
  50.  
  51.  /*
  52.   * takes grey level histogram for 'greyhist' and calculates the cumulative
  53.   * histogram and places it in 'cuhist'
  54.   * NOTE: 'greyhist' and 'cuhist' can be the same array
  55.   */
  56. void Process_CumulativeHistorgram(int (*greyhist)[256], int (*cuhist)[256]);
  57.  
  58.  /*
  59.   * scales 'sourceimage' to size of 'destimage' using biliner interpolation and
  60.   * resampling
  61.   */
  62. void Process_Scale(int sourceimage, int destimage,
  63.                    wimp_point *sourcesize, wimp_point *destsize);
  64.  
  65.  /*
  66.   * mixes source1 and source2 according to the percentage in image1percent and
  67.   * puts the result in destimage.
  68.   * NOTE: destimage can be the same as source2
  69.   */
  70. void Process_Mix(int source1, int source2, int destimage, int image1percent,
  71.                  wimp_point *size);
  72.  
  73.  /*
  74.   * map the greylevels in the 'sourceimage' to the new values set out using the bargraph
  75.   * from the window in 'barmap' and put the new image in 'destimage'
  76.   */
  77. void Process_GreyMap(int sourceimage, int destimage, wimp_point *size, char (*barmap)[]);
  78.  
  79.  /*
  80.   * calculates grey level histogram for 'sourceimage' Saturating Linear Contrast 
  81.   * Enhancement
  82.   */
  83. void Process_SLCE(int sourceimage, wimp_point *size, char (*greymap)[]);
  84.  
  85.  
  86.  
  87.