[Gllug] Faster maths?
SteveC
steve at asklater.com
Thu Mar 8 23:17:16 UTC 2007
doesn't image magick `convert` /perlmagick do it?
Adrian McMenamin wrote:
> I have some perl which indexes and dithers a PNG image to a 256 colour
> palette.
>
> The indexing is pretty fast - a 59K (compressed) PNG image on a 4000
> BogoMIPS machine in about a second.
>
> But I turn on dithering it takes half an hour!!
>
> The bottleneck appears to be calculating the distance of a point in
> colourspace (ie the original colour + diffused error) from any point in
> the palette (to find the closest match).
>
> I don't use sqrt - just compare square with square (and save a match so
> don't have to do the same lookup twice).
>
> But generally this requires several tens of millions of comparisons for
> a reasonably large image.
>
> There must be a better way as I know C libraries obviously don't take
> this long (do they?) and the difference in speed is so great it cannot
> simply be perl versus C that is the issue.
>
> I know this is a bit of a specialist subject - but anybody know of
> faster ways to calculate distances in a three dimensional space and/or
> work out how to compare with a smaller range of numbers than the whole
> 24 bit palette?
>
>
--
have fun,
SteveC steve at asklater.com http://www.asklater.com/steve/
--
Gllug mailing list - Gllug at gllug.org.uk
http://lists.gllug.org.uk/mailman/listinfo/gllug
More information about the GLLUG
mailing list