MagickCore  7.0.7
Convert, Edit, Or Compose Bitmap Images
compare.c File Reference
Include dependency graph for compare.c:

Go to the source code of this file.

Macros

#define SimilarityImageTag   "Similarity/Image"
 
#define Log10Epsilon   (1.0e-11)
 
#define SSIMRadius   5.0
 
#define SSIMSigma   1.5
 
#define SSIMBlocksize   8
 
#define SSIMK1   0.01
 
#define SSIMK2   0.03
 
#define SSIML   1.0
 
#define SimilarityImageTag   "Similarity/Image"
 

Functions

static size_t GetImageChannels (const Image *image)
 
MagickExport ImageCompareImages (Image *image, const Image *reconstruct_image, const MetricType metric, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetAbsoluteDistortion (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetFuzzDistortion (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetMeanAbsoluteDistortion (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetMeanErrorPerPixel (Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetMeanSquaredDistortion (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetNormalizedCrossCorrelationDistortion (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetPeakAbsoluteDistortion (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static double MagickLog10 (const double x)
 
static MagickBooleanType GetPeakSignalToNoiseRatio (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetPerceptualHashDistortion (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetRootMeanSquaredDistortion (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetStructuralSimilarityDistortion (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
static MagickBooleanType GetStructuralDisimilarityDistortion (const Image *image, const Image *reconstruct_image, double *distortion, ExceptionInfo *exception)
 
MagickExport MagickBooleanType GetImageDistortion (Image *image, const Image *reconstruct_image, const MetricType metric, double *distortion, ExceptionInfo *exception)
 
MagickExport double * GetImageDistortions (Image *image, const Image *reconstruct_image, const MetricType metric, ExceptionInfo *exception)
 
MagickExport MagickBooleanType IsImagesEqual (const Image *image, const Image *reconstruct_image, ExceptionInfo *exception)
 
MagickExport MagickBooleanType SetImageColorMetric (Image *image, const Image *reconstruct_image, ExceptionInfo *exception)
 
static double GetSimilarityMetric (const Image *image, const Image *reference, const MetricType metric, const ssize_t x_offset, const ssize_t y_offset, ExceptionInfo *exception)
 
MagickExport ImageSimilarityImage (const Image *image, const Image *reference, const MetricType metric, const double similarity_threshold, RectangleInfo *offset, double *similarity_metric, ExceptionInfo *exception)
 

Macro Definition Documentation

◆ Log10Epsilon

#define Log10Epsilon   (1.0e-11)

Referenced by MagickLog10().

◆ SimilarityImageTag [1/2]

#define SimilarityImageTag   "Similarity/Image"

◆ SimilarityImageTag [2/2]

#define SimilarityImageTag   "Similarity/Image"

◆ SSIMBlocksize

#define SSIMBlocksize   8

◆ SSIMK1

#define SSIMK1   0.01

◆ SSIMK2

#define SSIMK2   0.03

◆ SSIML

#define SSIML   1.0

◆ SSIMRadius

#define SSIMRadius   5.0

◆ SSIMSigma

#define SSIMSigma   1.5

Function Documentation

◆ CompareImages()

◆ GetAbsoluteDistortion()

◆ GetFuzzDistortion()

◆ GetImageChannels()

◆ GetImageDistortion()

◆ GetImageDistortions()

◆ GetMeanAbsoluteDistortion()

◆ GetMeanErrorPerPixel()

◆ GetMeanSquaredDistortion()

◆ GetNormalizedCrossCorrelationDistortion()

◆ GetPeakAbsoluteDistortion()

◆ GetPeakSignalToNoiseRatio()

static MagickBooleanType GetPeakSignalToNoiseRatio ( const Image image,
const Image reconstruct_image,
double *  distortion,
ExceptionInfo exception 
)
static

◆ GetPerceptualHashDistortion()

static MagickBooleanType GetPerceptualHashDistortion ( const Image image,
const Image reconstruct_image,
double *  distortion,
ExceptionInfo exception 
)
static

◆ GetRootMeanSquaredDistortion()

static MagickBooleanType GetRootMeanSquaredDistortion ( const Image image,
const Image reconstruct_image,
double *  distortion,
ExceptionInfo exception 
)
static

Definition at line 1330 of file compare.c.

References GetMeanSquaredDistortion(), and MaxPixelChannels.

Referenced by GetImageDistortion(), and GetImageDistortions().

◆ GetSimilarityMetric()

static double GetSimilarityMetric ( const Image image,
const Image reference,
const MetricType  metric,
const ssize_t  x_offset,
const ssize_t  y_offset,
ExceptionInfo exception 
)
static

◆ GetStructuralDisimilarityDistortion()

static MagickBooleanType GetStructuralDisimilarityDistortion ( const Image image,
const Image reconstruct_image,
double *  distortion,
ExceptionInfo exception 
)
static

Definition at line 1573 of file compare.c.

References GetStructuralSimilarityDistortion(), and MaxPixelChannels.

Referenced by GetImageDistortion(), and GetImageDistortions().

◆ GetStructuralSimilarityDistortion()

◆ IsImagesEqual()

◆ MagickLog10()

static double MagickLog10 ( const double  x)
inlinestatic

Definition at line 1224 of file compare.c.

References Log10Epsilon.

Referenced by GetPeakSignalToNoiseRatio().

◆ SetImageColorMetric()

◆ SimilarityImage()