From 0d7e332c4af7ad37525d96587736b76a558e12cd Mon Sep 17 00:00:00 2001 From: Dirk Lemstra Date: Sat, 17 Jun 2017 23:05:40 +0200 Subject: [PATCH] Added missing checks. --- MagickCore/vision.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/MagickCore/vision.c b/MagickCore/vision.c index f8e1c1152..c53bdd2ce 100644 --- a/MagickCore/vision.c +++ b/MagickCore/vision.c @@ -398,8 +398,10 @@ MagickExport Image *ConnectedComponentsImage(const Image *image, object[id].color.red+=QuantumScale*GetPixelRed(image,p); object[id].color.green+=QuantumScale*GetPixelGreen(image,p); object[id].color.blue+=QuantumScale*GetPixelBlue(image,p); - object[id].color.black+=QuantumScale*GetPixelBlack(image,p); - object[id].color.alpha+=QuantumScale*GetPixelAlpha(image,p); + if (image->alpha_trait != UndefinedPixelTrait) + object[id].color.alpha+=QuantumScale*GetPixelAlpha(image,p); + if (image->colorspace == CMYKColorspace) + object[id].color.black+=QuantumScale*GetPixelBlack(image,p); object[id].centroid.x+=x; object[id].centroid.y+=y; object[id].area++; @@ -439,8 +441,10 @@ MagickExport Image *ConnectedComponentsImage(const Image *image, object[i].color.red=QuantumRange*(object[i].color.red/object[i].area); object[i].color.green=QuantumRange*(object[i].color.green/object[i].area); object[i].color.blue=QuantumRange*(object[i].color.blue/object[i].area); - object[i].color.alpha=QuantumRange*(object[i].color.alpha/object[i].area); - object[i].color.black=QuantumRange*(object[i].color.black/object[i].area); + if (image->alpha_trait != UndefinedPixelTrait) + object[i].color.alpha=QuantumRange*(object[i].color.alpha/object[i].area); + if (image->colorspace == CMYKColorspace) + object[i].color.black=QuantumRange*(object[i].color.black/object[i].area); object[i].centroid.x=object[i].centroid.x/object[i].area; object[i].centroid.y=object[i].centroid.y/object[i].area; } -- 2.40.0