Пиксельные манипуляции с изображениями: использовать нативные API или сторонние библиотеки? - PullRequest
4 голосов
/ 11 апреля 2011

Мне нужно написать приложение на Java, которое должно иметь возможность манипулировать пикселями изображения независимо от формата изображения ( JPEG , BitMap , Gif , ...).

Это означает, что мне нужен доступ к пикселям, а также мне нужно вычислить некоторые атрибуты изображения, такие как размер , разрешение , контраст яркость и алгоритм сжатия .

Мне также нужно манипулировать битами отдельных пикселей.Теперь мне нужно знать, что я могу сделать это с помощью чистых Java SE классов или мне нужно использовать стороннюю библиотеку?Если да, то что лучше для меня? JAI , ImageJ , ...?

1 Ответ

4 голосов
/ 11 апреля 2011

Взгляните на Часто задаваемые вопросы по Java Advanced Imagining API , и вы сможете решить, хотите ли вы использовать нативные API Java или стороннюю библиотеку. (Концепция манипулирования пикселями может сильно различаться по сложности. Упомянутые вами примеры не сложны, но могут быть и другие операции.) Получение размера, разрешения и сжатия alg несколько тривиально, поскольку все они являются атрибутами объектов, которые вы используете при манипуляции изображения , (Хотя разрешение относительно.) Работа с контрастом и яркостью немного сложнее, но не намного. Смотрите здесь для интересного образца . Java2s предлагает множество фрагментов Java-манипуляций с изображениями.

Вот ссылка непосредственно на раздел Поддерживаемые форматы файлов в FAQ.

JAI Hello World:

PlanarImage source = JAI.create("fileload", file);

Эта функция автоматически определяет формат файла и производит изображение объект, который может быть отображен или обрабатывается.

...