JPEG SOFO 稳定获取图像宽高

本文讨论了JPEG图片中EXIF的SOF0标记获取图像宽高的问题,特别提到SOFO字段的使用可以提高解码效率。由于某些JPEG可能包含多个SOF0(如三星和苹果的缩略图),文章强调了检测文件中所有0xFFC0字段的重要性,以确保准确和高效地解析图像信息。
摘要由CSDN通过智能技术生成

JPEG图的EXIF个别不一定获取图像宽高,解码图像获取,这样解码图像时间耗时很大。因为SOFO字段提高解码信息所以一定存放宽高信息。所以我把SOFO字段宽高读取出来就行。

场地尺寸描述
标记标识符2字节0xff、0xc0识别SOF0标记
长度2字节该值等于8+成分*3值
数据精度1字节以位/样本为单位,通常为 8(大多数软件不支持 12 和 16)。
图像高度2字节该值必须 > 0
图像宽度2字节该值必须 > 0
元件数量1字节通常 1 = 灰度,3 = 彩色 YcbCr 或 YIQ
各组件3字节读取每个组件3字节的数据。它包含(分量 Id(1 字节)(1 = Y、2 = Cb、3 = Cr、4 = I、5 = Q)、采样因子(1 字节)(位 0-3 垂直、4-7 水平。) ,量化表号(1字节))。

上面表资料很容易可以查询到。

所以我们检测0xFFC0就行。前面7个字节一般都是0XFFC0001108(或者直接检测这个)

一般来说检测0XFFC0,后面直接获取就行 。但是现在很多JPEG图存在缩略图,(比如:三星 苹果)所以存在多个0XFFC0字段。

        这样一来,我们需要检测文件所有字段0XFFC0。不能只定位一个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值