JPEG没有正式的标头定义,但是它们确实有少量可使用的元数据。
- 偏移量0(两个字节):JPEG SOI标记(十六进制FFD8)
- 偏移2(两个字节):图像宽度(以像素为单位)
- 偏移量4(两个字节):图像高度(以像素为单位)
- 偏移量6(字节):分量数(1 =灰度,3 = RGB)
在那之后还有其他几件事,但是那并不重要。
您可以使用二进制流打开文件,并读取此初始数据,并确保OffSet 0为0,OffSet 6为1,2或3。
这至少会给您带来更高的精度。
或者,您可以捕获异常并继续前进,但是我认为您想要挑战:)



