draw_info->affine.tx,draw_info->affine.ty);
}
if ((IsGrayColorspace(image->colorspace) != MagickFalse) &&
- ((IsPixelGray(&draw_info->fill) == MagickFalse) ||
- (IsPixelGray(&draw_info->stroke) == MagickFalse)))
+ ((IsPixelInfoGray(&draw_info->fill) == MagickFalse) ||
+ (IsPixelInfoGray(&draw_info->stroke) == MagickFalse)))
(void) TransformImageColorspace(image,sRGBColorspace,exception);
status=MagickTrue;
x=(ssize_t) ceil(primitive_info->point.x-0.5);
return((Image *) NULL);
}
if ((IsGrayColorspace(image->colorspace) != MagickFalse) &&
- (IsPixelGray(&colorize) != MagickFalse))
+ (IsPixelInfoGray(colorize) != MagickFalse))
(void) SetImageColorspace(colorize_image,sRGBColorspace,exception);
if ((colorize_image->alpha_trait != BlendPixelTrait) &&
(colorize->alpha_trait == BlendPixelTrait))
return((Image *) NULL);
}
if ((IsGrayColorspace(image->colorspace) != MagickFalse) &&
- (IsPixelGray(&tint) == MagickFalse))
+ (IsPixelInfoGray(tint) == MagickFalse))
(void) SetImageColorspace(tint_image,sRGBColorspace,exception);
if (blend == (const char *) NULL)
return(tint_image);
double
dissimilarity_threshold,
distortion,
- similarity_metric;
+ similarity_metric,
+ similarity_threshold;
Image
*difference_image,
%
% MagickWand *MagickSimilarityImage(MagickWand *wand,
% const MagickWand *reference,const MetricType metric,
-% RectangeInfo *offset,double *similarity)
+% const double similarity_threshold,RectangeInfo *offset,
+% double *similarity)
%
% A description of each parameter follows:
%
%
% o metric: the metric.
%
+% o similarity_threshold: minimum distortion for (sub)image match.
+%
% o offset: the best match offset of the reference image within the image.
%
% o similarity: the computed similarity between the images.
%
*/
WandExport MagickWand *MagickSimilarityImage(MagickWand *wand,
- const MagickWand *reference,const MetricType metric,RectangleInfo *offset,
- double *similarity)
+ const MagickWand *reference,const MetricType metric,
+ const double similarity_threshold,RectangleInfo *offset,double *similarity)
{
Image
*similarity_image;
"ContainsNoImages","`%s'",wand->name);
return((MagickWand *) NULL);
}
- similarity_image=SimilarityImage(wand->images,reference->images,metric,offset,
- similarity,wand->exception);
+ similarity_image=SimilarityImage(wand->images,reference->images,metric,
+ similarity_threshold,offset,similarity,wand->exception);
if (similarity_image == (Image *) NULL)
return((MagickWand *) NULL);
return(CloneMagickWandFromImages(wand,similarity_image));
*MagickOptimizeImageLayers(MagickWand *),
*MagickPreviewImages(MagickWand *wand,const PreviewType),
*MagickSimilarityImage(MagickWand *,const MagickWand *,const MetricType,
- RectangleInfo *,double *),
+ const double,RectangleInfo *,double *),
*MagickSmushImages(MagickWand *,const MagickBooleanType,const ssize_t),
*MagickSteganoImage(MagickWand *,const MagickWand *,const ssize_t),
*MagickStereoImage(MagickWand *,const MagickWand *),