100% библиотека Java для декодирования без потерь JPEG
Я ищу библиотеку на 100% Java, которая может декодировать изображения JPEG с сжатием без потерь.
Я знаю, что ImageIO и JAI уже могли декодировать эти изображения, но им нужен собственный код, который не существует для всех ОС.
Я бы рассмотрел открытые и закрытые исходные решения, такие как плагин ImageIO или автономный.
Ответы
Ответ 1
Пожалуйста, посмотрите на работу Дэвида Клюни, это действительно лучший способ!
[Обновление 09/2017] Д. Клуни обновил свой кодек
http://www.pixelmed.com/jpeg.html
http://www.dclunie.com/pixelmed/software/codec/
Это автономный JPEG-кодек, который реализует выборочную редакцию блока для использования во время деидентификации.
Он также поддерживает декомпрессию изображений JPEG без потерь.
С уважением.
Ответ 2
Марко Шмидт написал удобный "Список библиотек Java для чтения и записи файлов изображений пикселей" давным-давно. Теперь он ушел из Интернета, но по-прежнему можно просмотреть его с помощью Wayback Machine (как видно в 2009 году). Я не знаю, есть ли там декодеры JPEG без потерь, но это может быть хорошим местом для начала поиска.
Ответ 3
TwelveMonkeys ImageIO некоторое время поддерживал JPEG без потерь.
Я думаю, что это началось с той же кодовой базы, что и rii-mango/JPEGLosslessDecoder, но главное отличие/преимущество в том, что оно использует стандартный API ImageIO.
В принципе, это будет работать:
BufferedImage image = ImageIO.read(new File("my-lossless-jpeg.jpg"));
Раскрытие информации: Я являюсь основным разработчиком/хранителем библиотеки.
Ответ 4
Вы можете попробовать ImageMagick и его открытый Java-интерфейс JMagick, я вижу, что он был стабильным и быстрым.
Ответ 5
Найдено Grossroots DiCoM, который может делать то, что вы хотите. Он имеет привязки для Java. Библиотека очень мощная и написана на С++. Вам нужно будет построить его и импортировать встроенный файл jar. Я прочитал файл DICOM без потерь JPEG и преобразовал его в BuffredImage, используя этот пример.
Ответ 6
Кажется, у вас может быть ответ здесь: Я не могу получить ImageReaderByFormatName ( "jpeg-lossless" )
Надеюсь, что это поможет -
Перри