{
double
alpha,
- gamma,
pixel;
PixelChannel
k=(&kernel->values[kernel->width*kernel->height-1]);
pixels=p;
pixel=bias;
- gamma=0.0;
if ((morphology_traits & BlendPixelTrait) == 0)
{
/*
{
for (u=0; u < (ssize_t) kernel->width; u++)
{
- if (IsNaN(*k) != MagickFalse)
- continue;
- pixel+=(*k)*pixels[i];
- gamma+=(*k);
+ if (IsNaN(*k) == MagickFalse)
+ pixel+=(*k)*pixels[i];
k--;
pixels+=GetPixelChannels(image);
}
}
- gamma=PerceptibleReciprocal(gamma);
- pixel*=gamma;
if (fabs(pixel-p[center+i]) > MagickEpsilon)
changed++;
SetPixelChannel(morphology_image,channel,ClampToQuantum(pixel),
{
for (u=0; u < (ssize_t) kernel->width; u++)
{
- if (IsNaN(*k) != MagickFalse)
- continue;
- alpha=(double) (QuantumScale*GetPixelAlpha(image,pixels));
- pixel+=(*k)*alpha*pixels[i];
- gamma+=(*k)*alpha;
+ if (IsNaN(*k) == MagickFalse)
+ {
+ alpha=(double) (QuantumScale*GetPixelAlpha(image,pixels));
+ pixel+=(*k)*alpha*pixels[i];
+ }
k--;
pixels+=GetPixelChannels(image);
}
}
- gamma=PerceptibleReciprocal(gamma);
- pixel*=gamma;
if (fabs(pixel-p[center+i]) > MagickEpsilon)
changed++;
SetPixelChannel(morphology_image,channel,ClampToQuantum(pixel),q);
{
double
alpha,
- gamma,
maximum,
minimum,
pixel;
}
default: pixel=0; break;
}
- gamma=0.0;
switch (method)
{
case ConvolveMorphology:
{
alpha=(double) (QuantumScale*GetPixelAlpha(image,pixels));
pixel+=(*k)*alpha*pixels[i];
- gamma+=(*k)*alpha;
}
k--;
pixels+=GetPixelChannels(image);
}
pixels+=(image->columns-1)*GetPixelChannels(image);
}
- gamma=PerceptibleReciprocal(gamma);
- pixel*=gamma;
break;
}
case ErodeMorphology: