用于JPEG无损解码的100%Java库

时间:2011-04-18 11:26:34

标签: java jpeg javax.imageio dicom lossless-compression

我正在寻找一个100%Java的库,可以用 jpeg-lossless 压缩来解码JPEG图像。

我知道 ImageIO JAI 已经可以对这些图像进行解码,但是它们需要一个本机代码,而这些代码并不适用于所有操作系统。

我会考虑开源和关闭源解决方案,如ImageIO插件或独立。

6 个答案:

答案 0 :(得分:4)

很久以前,Marco Schmidt写了一篇方便的“Java库来读取和写入像素图像文件”。它已经从网上消失了,但仍然可以使用Wayback Machine view(如2009年所见)。我不知道那里是否有无损 JPEG解码器,但它可能是开始搜索的好地方。

答案 1 :(得分:2)

请大家看看David Clunie的出色工作,这真的是最好的方法!
[更新09/2017] D. Clunie更新了他的编解码器
http://www.pixelmed.com/jpeg.html
http://www.dclunie.com/pixelmed/software/codec/

这是一个独立的JPEG编解码器,可实现选择性块编辑,以便在去识别时使用。 它还支持无损JPEG图像的解压缩。

问候。

答案 2 :(得分:2)

TwelveMonkeys ImageIO已经支持无损JPEG一段时间了。

我认为它始于与rii-mango/JPEGLosslessDecoder相同的代码库,但它的主要区别/优势在于它使用标准的ImageIO API。

基本上,这将有效:

BufferedImage image = ImageIO.read(new File("my-lossless-jpeg.jpg"));

披露:我是图书馆的主要开发者/维护者。

答案 3 :(得分:0)

您可以尝试使用ImageMagick和他的开源Java界面JMagick,我发现它稳定且快速。

答案 4 :(得分:0)

找到Grossroots DiCoM可以做你想做的事。它具有Java绑定。该库非常强大,它是用C ++编写的。您将必须构建它并导入构建的jar文件。我读了一个jpeg-lossless DICOM文件,并使用this示例将其转换为BuffredImage。

答案 5 :(得分:-1)

似乎你可以在这里得到答案:I can't get an ImageReaderByFormatName("jpeg-lossless")

希望有所帮助 -

佩里