github.com/kaydxh/golang@v0.0.131/pkg/gocv/cgo/third_path/graphics-magick/include/GraphicsMagick/magick/compare.h (about)

     1  /*
     2    Copyright (C) 2008 GraphicsMagick Group
     3  
     4    This program is covered by multiple licenses, which are described in
     5    Copyright.txt. You should have received a copy of Copyright.txt with this
     6    package; otherwise see http://www.graphicsmagick.org/www/Copyright.html.
     7  
     8    GraphicsMagick Image Comparison Methods.
     9  */
    10  #ifndef _MAGICK_COMPARE_H
    11  #define _MAGICK_COMPARE_H
    12  
    13  #if defined(__cplusplus) || defined(c_plusplus)
    14  extern "C" {
    15  #endif /* defined(__cplusplus) || defined(c_plusplus) */
    16  
    17  /*
    18    Pixel differencing algorithms.
    19  */
    20  typedef enum
    21  {
    22    UndefinedHighlightStyle,
    23    AssignHighlightStyle,
    24    ThresholdHighlightStyle,
    25    TintHighlightStyle,
    26    XorHighlightStyle
    27  } HighlightStyle;
    28  
    29  typedef struct _DifferenceImageOptions
    30  {
    31    ChannelType              channel; /* Channel(s) to difference */
    32    HighlightStyle           highlight_style; /* Pixel annotation style */
    33    PixelPacket              highlight_color; /* Changed pixel highlight color */
    34  } DifferenceImageOptions;
    35  
    36  extern MagickExport void
    37    InitializeDifferenceImageOptions(DifferenceImageOptions *options,
    38                                     ExceptionInfo *exception);
    39  
    40  extern MagickExport Image
    41    *DifferenceImage(const Image *reference_image,const Image *compare_image,
    42                     const DifferenceImageOptions *difference_options,
    43                     ExceptionInfo *exception);
    44  
    45  /*
    46    Pixel error metrics.
    47  */
    48  typedef enum
    49  {
    50    UndefinedMetric,
    51    MeanAbsoluteErrorMetric,
    52    MeanSquaredErrorMetric,
    53    PeakAbsoluteErrorMetric,
    54    PeakSignalToNoiseRatioMetric,
    55    RootMeanSquaredErrorMetric
    56  } MetricType;
    57  
    58  /*
    59    Pixel difference statistics.
    60  */
    61  typedef struct _DifferenceStatistics
    62  {
    63    double
    64      red,
    65      green,
    66      blue,
    67      opacity,
    68      combined;
    69  } DifferenceStatistics;
    70  
    71  extern MagickExport void
    72    InitializeDifferenceStatistics(DifferenceStatistics *difference_statistics,
    73                                   ExceptionInfo *exception);
    74  
    75  extern MagickExport MagickPassFail
    76    GetImageChannelDifference(const Image *reference_image,
    77                              const Image *compare_image,
    78                              const MetricType metric,
    79                              DifferenceStatistics *statistics,
    80                              ExceptionInfo *exception),
    81    GetImageChannelDistortion(const Image *reference_image,
    82                              const Image *compare_image,
    83                              const ChannelType channel,
    84                              const MetricType metric,
    85                              double *distortion,
    86                              ExceptionInfo *exception),
    87    GetImageDistortion(const Image *reference_image,
    88                       const Image *compare_image,
    89                       const MetricType metric,
    90                       double *distortion,
    91                       ExceptionInfo *exception);
    92  
    93  extern MagickExport MagickBool
    94    IsImagesEqual(Image *,const Image *);
    95  
    96  #if defined(__cplusplus) || defined(c_plusplus)
    97  }
    98  #endif /* defined(__cplusplus) || defined(c_plusplus) */
    99  
   100  #endif /* _MAGICK_COMPARE_H */
   101  
   102  /*
   103   * Local Variables:
   104   * mode: c
   105   * c-basic-offset: 2
   106   * fill-column: 78
   107   * End:
   108   */