(у меня сложилось впечатление, что вы сталкиваетесь с давлением оперативной памяти, а не с ограничениями при хранении - если я ошибаюсь, игнорируйте это)
Сжатие сэкономит место на диске, но я не думаю, что оно обязательно будетчтобы помочь (и даже может быть контрпродуктивно) уменьшить объем оперативной памяти, поскольку вы (или, по крайней мере, ОС) копируете сжатые данные в оперативную память, а затем распаковываете их в еще более оперативную память.
Если у вас естьдовольно сырой растровый формат, просто вычислить смещение файла любых пикселей, представляющих интерес, и использовать fseek () для получения небольшого количества данных.Упакованный формат, который объединяет цвета / каналы вместе, может быть даже лучше, особенно если это формат, непосредственно полезный для вашего вывода (отображение или алгоритм или любой другой).
Таким образом, можно было бы идентифицировать существующий формат.то есть или напишите подпрограмму для предварительной обработки изображений в упакованный растровый формат, непосредственно используемый вашим выходом, и выясните, как сделать это плагином для фотошопа, или напишите инструмент массового конвертера, подключенный к тому, что записывает флэш-карты илидругие устройства хранения данных, используемые вашей встроенной системой (вы можете рассмотреть кодирование его как выходного драйвера для imagemagick, чтобы обеспечить гибкость формата ввода этих пакетов).Затем встроенный конец вашего кода становится чрезвычайно простым и эффективным для использования памяти, поскольку он только перемещает в оперативную память те данные, которые ему действительно нужны (по размеру буферизованного по O / S объема чтения, но эти буферы следует перерабатывать за кулисами)