from PIL import Image import numpy as np import struct import io def load(data): def consume(n): nonlocal data out, data = data[:n], data[n:] if len(out) < n: raise ValueError('file is truncated') return out header = consume(128) if header[:2] != bytes([0xca, 0xac]) or header[-2:] != bytes([0xac, 0xca]): raise ValueError('Header magic not found.') _unk0, coarse_section_length, y_res, x_res,\ _zero0, _unk1, _zero1, fine_offset, _unk2, jpeg_length,\ y_res_2, x_res_2, _unk3, = struct.unpack('