% MagickCore Methods to Segment an Image with Thresholding Fuzzy c-Means %
% %
% Software Design %
-% John Cristy %
+% Cristy %
% April 1993 %
% %
% %
-% Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization %
+% Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization %
% dedicated to making software imaging solutions freely available. %
% %
% You may not use this file except in compliance with the License. You may %
image_view=AcquireAuthenticCacheView(image,exception);
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static,4) shared(progress,status) \
- dynamic_number_threads(image,image->columns,image->rows,1)
+ magick_threads(image,image,image->rows,1)
#endif
for (y=0; y < (ssize_t) image->rows; y++)
{
histogram[i]=(ssize_t *) RelinquishMagickMemory(histogram[i]);
}
(void) ThrowMagickException(exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","'%s'",image->filename);
+ ResourceLimitError,"MemoryAllocationFailed","`%s'",image->filename);
return(MagickFalse);
}
}
if (cluster == (Cluster *) NULL)
{
(void) ThrowMagickException(exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","'%s'",
+ ResourceLimitError,"MemoryAllocationFailed","`%s'",
image->filename);
return(MagickFalse);
}
if (cluster == (Cluster *) NULL)
{
(void) ThrowMagickException(exception,GetMagickModule(),
- ResourceLimitError,"MemoryAllocationFailed","'%s'",image->filename);
+ ResourceLimitError,"MemoryAllocationFailed","`%s'",image->filename);
return(MagickFalse);
}
/*
cluster=cluster->next;
}
}
- threshold=(background->red.center+object->red.center)/2.0;
- pixel->red=(double) ScaleCharToQuantum((unsigned char)
- (threshold+0.5));
- threshold=(background->green.center+object->green.center)/2.0;
- pixel->green=(double) ScaleCharToQuantum((unsigned char)
- (threshold+0.5));
- threshold=(background->blue.center+object->blue.center)/2.0;
- pixel->blue=(double) ScaleCharToQuantum((unsigned char)
- (threshold+0.5));
+ if (background != (Cluster *) NULL)
+ {
+ threshold=(background->red.center+object->red.center)/2.0;
+ pixel->red=(double) ScaleCharToQuantum((unsigned char)
+ (threshold+0.5));
+ threshold=(background->green.center+object->green.center)/2.0;
+ pixel->green=(double) ScaleCharToQuantum((unsigned char)
+ (threshold+0.5));
+ threshold=(background->blue.center+object->blue.center)/2.0;
+ pixel->blue=(double) ScaleCharToQuantum((unsigned char)
+ (threshold+0.5));
+ }
/*
Relinquish resources.
*/