Что является эквивалентом MagickWand опции "-colors"? - PullRequest
7 голосов
/ 13 апреля 2011

У меня есть несколько изображений, которые я обрабатываю с помощью ImageMagick.В этом случае я конвертирую PNG RGBA в индексированный PNG.Если я использую инструмент convert, у меня есть разумный контроль над количеством цветов в индексированном PNG:

$ convert infile.png -colors 128 outfile.png
$ identify outfile.png
outfile.png PNG 77x77 77x77+0+0 8-bit PseudoClass 91c 3.03KiB 0.000u 0:00.000

Кажется, что значительно уменьшается количество цветов (91 <128), который я пытаюсь сделатьто же самое преобразование с MagickWand <code>MagickQuantizeImage(wand, 128, RGBColorspace, tree_depth=1, 0, 0).Сигнатура функции:

MagickBooleanType MagickQuantizeImage(
              MagickWand       *wand,
        const size_t            number_colors,
              ColorspaceType    colorspace,
        const size_t            treedepth,
        const MagickBooleanType dither,
        const MagickBooleanType measure_error)

Конечным результатом является изображение со слишком малым количеством цветов (всего 11!):

$ identify wandoutfile.png
wandoutfile.png PNG 77x77 77x77+0+0 8-bit PseudoClass 11c 1.31KiB 0.000u 0:00.000

Кто-нибудь знает, как добиться уменьшения цветаиспользуя MagickWand (не уничтожая изображение в процессе?)

Спасибо!

1 Ответ

1 голос
/ 23 мая 2012

Используйте treedepth=8, measure_error=1.См. документацию для получения подробной информации .

Вы также можете рассмотреть возможность использования цветового пространства YIQ в соответствии с предложением здесь .

...