Method: Magick::Image#difference

Defined in:
ext/RMagick/rmimage.c

#difference(other) ⇒ Object

Call the IsImagesEqual function.

Ruby usage:

- @verbatim Image#difference @endverbatim

Notes:

- "other" can be either an Image or an Image

normalized maximum error]

Parameters:

  • self

    this object

  • other

    another Image

Returns:

  • An array with 3 values: [mean error per pixel, normalized mean error,

[View source]

4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
# File 'ext/RMagick/rmimage.c', line 4736

VALUE
Image_difference(VALUE self, VALUE other)
{
    Image *image;
    Image *image2;
    volatile VALUE mean, nmean, nmax;

    image = rm_check_destroyed(self);
    other = rm_cur_image(other);
    image2 = rm_check_destroyed(other);

    (void) IsImagesEqual(image, image2);
    // No need to check for error

    mean  = rb_float_new(image->error.mean_error_per_pixel);
    nmean = rb_float_new(image->error.normalized_mean_error);
    nmax  = rb_float_new(image->error.normalized_maximum_error);
    return rb_ary_new3(3, mean, nmean, nmax);
}