Уменьшение цвета (на Java) - PullRequest
1 голос
/ 18 сентября 2008

Я хотел бы найти способ делать снимки в формате JPEG (или GIF / PNG) и уменьшать количество цветов, например. 20. Может ли кто-нибудь порекомендовать какую-нибудь библиотеку или другой справочник? Также приветствуются исходные коды на других языках.

Ответы [ 6 ]

3 голосов
/ 18 сентября 2008

Взгляните на Java Advanced Imaging API . В этом API реализовано несколько алгоритмов для уменьшения цвета.

2 голосов
/ 18 сентября 2008

JAI (Java Advanced Imaging API) сделает эту работу, но у него есть некоторые недостатки.

API далеко не прост в использовании, особенно если вам небезразлично использование памяти ...

IMHO Java - не самая лучшая платформа для задач обработки изображений. Вы можете попробовать ImageMagick , замечательный инструмент командной строки, используемый популярными сайтами, такими как Flickr. Вы можете интегрировать ImageMagick в ваше Java-приложение, используя командную строку ( Runtime.exec () ) или Jmagick , который является мостом Java к ImageMagick

1 голос
/ 18 сентября 2008

Это похоже на простую реализацию в Java, основанную на ImageMagick:

http://gurge.com/amd/java/quantize/index.html

0 голосов
/ 28 октября 2008

JAI API - это путь. С сегодняшней производительностью JVM очень близко к ассемблерному коду. Я знаю, что сделал это.

0 голосов
/ 18 сентября 2008

Посмотрите на фильтры изображений на http://www.jhlabs.com/ip/filters/index.html. QuantizeFilter , кажется, делает то, что вы хотите.

0 голосов
/ 18 сентября 2008

Ищите алгоритмы квантования цвета, особенно срединный срез. Вы найдете много примеров с этими ключевыми словами. Библиотеки для этого включают в себя ImageMagick , который имеет привязки для многих языков. JMagick - это разновидность Java.

...