Damien Dunlop on  wrote...
|
| > From: Elie Zedeck RANDRIAMIANDRIRAY
| > and
| > From: Pete Whatever
| >
| convert -size 1500x2000 xc: +noise Random A.gif
|
Yes I agree that this is far too slow! Especially with such a limited
number of colors in the final solution.   A Q16 version of IM
is probably even slower!

If you want to change this please be our guest and help!

Theorizing....  It is probably a data structure issue due to the number
of colors in the original image.  The structure probably should be
limited by the output limit.

Hmmmm prehaps the specialised   -treedepth   seting will help,
You will have to ask Cristy (Magick on the forum) for info, as I myself
do not understand how this effects quantization, only that it is an
'expert' setting for the implements process.


| b) Another program is 70 times faster doing the same.
|
But it is not as general, batch drivable, and it is not free either!

Then again, IM was not designed with 'palette' image preservation in mind,
images are stored in memory as RGB images, not palette images, so as to
avoid the limitations of a palette image.


| c) If both input and output are gif as in this case,
| colour quantizing should not be needed, but as you both suggest,
| it is probably occurring - which may possibly explain other problems
| (the post - `Colour Confusion').
|
That is not true.  -- and I should know!!!

Almost all distortions, whether it is a resize or a rotate, will
generate lots of new color, unless they use a direct (and horrible)
color sampling (nearest neighbor, or integer lookup).
It is the nature of distortions, when you want to generate a high
quality result!


For resize  -sample  will do this.
for rotate use the -distort images without any interpolation...

   -filter point -interpolate NearestNeighbor  -distort SRT 30

I am thinking also of replacing the current  -magnify  operation
(which is currently equivelent to  -resize 200%)
with a 'scaleX2' type of resize...
   http://scale2x.sourceforge.net/
This has the properity of generating a nicer enlarged view of the image
without generating extra colors, or generating a 'pixelated' look.
It is designed specifically with palette images such as from older
computer games.

All these methods will NOT generate new colors, and as such will
not invalidate the existing image palette.

Of course I have not experimented with who well IM preserves of tests
the existing 'palette' with the modified image, so I don't know
how well this works.

    convert -size 1500x2000 xc: +noise Random A.gif

Just read and write the pre-quantized image
    convert A.gif -taint  B.gif
or  convert A.gif -sample 110%  B.gif

No quantization was needed, and few colors was present, so it was FAST!
(0.5 seconds on my system)

How well this works, is another matter, as there is no way for IM to
know if operation 'X' generated extra colors or not.  It isn't recorded.


  Anthony Thyssen ( System Programmer )    <[EMAIL PROTECTED]>
 -----------------------------------------------------------------------------
  "Warning! Warning! Alien approaching!"    Robot,  Lost in Space
 -----------------------------------------------------------------------------
     Anthony's Home is his Castle     http://www.cit.gu.edu.au/~anthony/
_______________________________________________
Magick-users mailing list
[email protected]
http://studio.imagemagick.org/mailman/listinfo/magick-users

Reply via email to