我正在使用Android 6.0做一些开发。现在我想使用libjpeg-turbo来解码相机在本地c++代码中拍摄的JPEG图像(JPEG9图像)。然而,libjpeg-turbo只能支持JPEG 8,所以libjpeg-turbo会给出一个错误:“错误的jpeg库版本”。有人知道如何解决这个问题吗?
事实上,我现在正在使用OpenCV函数imdecode来做这项工作,但它太慢了。有人说OpenCV在解码和编码中使用了libjpeg。这是真的吗?
如果我不能使用libjpeg-turbo,我还可以使用什么来有效地解码和编码JPEG9图像?
如有任何帮助,我们不胜感激!
发布于 2018-01-22 06:01:12
Libjpeg-turbo故意不支持带有libjpeg fork扩展名的图像,因为它们是非标准的,并且不能提供比来自符合标准的v9版本的图像更好的压缩:
https://libjpeg-turbo.org/About/Jpeg-9
所以答案是你不能解码它们。您能做的最好的事情就是避免使用libjpeg,或者如果您必须这样做,请确保禁用所有SmartScale扩展以生成与v9兼容的文件。
https://stackoverflow.com/questions/40762933
复制相似问题