压缩:在Java / Scala中以指定的比特率保存JPEG图像

时间:2012-05-10 16:57:02

标签: java scala compression jpeg

我对保存JPEG图像很感兴趣,这样我就可以指定用于编码压缩格式中所有像素的总位数。例如,如果我有一个大小为1024 x 1024的4通道图像,则对没有压缩的位进行编码将需要4 * 8 * 1024 * 1024位。使用压缩,可以使用明显更少的比特。我想指定压缩格式的位数。

迭代解决方案是对JPEG压缩质量参数进行二分搜索。我希望在Java或Scala中直接解决。

1 个答案:

答案 0 :(得分:0)

正如@Chris所说,JPEG没有捷径。然而 - 我意识到这是一个很长的镜头 - 如果你愿意使用JPEG2000而不是JPEG,你可以直接指定压缩率。如果您查看此Encoder中的JJ2000 library课程,您将看到如何修复编码图像的比特率。

不幸的是,由于JPEG2000的支持远没有JPEG那么广泛,我担心这对你来说可能没什么用处。