JPEG V8非标准图片SmartScale的图片判别

本文探讨了ijg libjpeg库V8版本中引入的SmartScale功能,该功能虽未获ITU认可,但在QT QImage模块中得到支持。文章提供了一种通过检查JPEG SOS字段中的Se值来识别并处理这种非标准JPEG的方法。

ijg的libjpeg库很多系统使用,其V8版本增加了“无损缩放SmartScale”的功能,但被ITU给拒了。哈哈。具体可以看这里,

https://fireattack.wordpress.com/2016/02/21/jpeg/

SmartScale不熟悉的同学可以看这里:https://libjpeg-turbo.org/About/SmartScale

 

我发现QT的QImage模块可以支持这种SmartScale格式图片,但其他包括微软以及常用的看图软件都不支持。所以,在图片预处理的时候,要发现和剔除这种“非标”Jpeg。下面说说方法,主要是读取JPEG的SOS字段,其内部的Se字段,如果不是63,就是这种非标准的SmartScale JPG文件。使用时一定要小心

 

参考资料:http://lad.dsc.ufcg.edu.br/multimidia/jpegmarker.pdf (SOS字段介绍)

https://pdfs.semanticscholar.org/2f15/ebe57bb15bf63b23fca0e3f303c05eac21e3.pdf (SmartScale详细规范介绍)

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值