我的应用程序尝试基于exif数据旋转图像。
我一直收到关于jpegtran的请求,抱怨“序列jpeg的无效SOS参数”和jhead中止操作。显然,这甚至不是致命的警告,许多论坛给出了如何忽视它的指示?
Invalid SOS parameters for sequential JPEG
对于如何让jpegtran完全忽略这个警告并处理图像有什么想法吗?我对这里的示例图像有一个问题,https://github.com/savolai/JPEG-Autorotate/issues/1
我已经想过首先使用jpegtran将图像转换为非渐进的,但是即使在那时它也会抱怨并且拒绝这样做。.\testimages\invalid-sos-parameters-progressive-jpeg\20180516_14530 8.jpg > .\testimages\invalid-sos-parameters-progressive-jpeg\nonprog.jpg
有人知道其他二进制文件或让jpegtran.exe忽略错误的方法吗?或者你知道mozjpeg jpegtran在这方面是否比较松懈?
发布于 2018-12-07 20:18:27
我怀疑问题的根源在于SOS标记中的光谱选择字段设置为零。这些字段在顺序JPEG中是没有意义的,但是标准说应该将值设置为0和63。在互联网上看到的一些JPEG引用称,这些值被忽略了。可能有些编码器没有设置它们。
您可能需要在图像上运行JPEG转储程序,以查看您的光谱选择值是否设置为零和63。如果不是,您可以编写一个相对简单的筛选程序,在更改光谱选择值的同时复制JPEG流。
我希望JPEGTRAN源代码是在线的。如果我是正确的,它是做了这个不必要的检查,你可以建立你自己的版本,这是注释掉了。
https://stackoverflow.com/questions/53601021
复制相似问题