Python 3 загружает большой файл изображения (или видео поток) - PullRequest
0 голосов
/ 26 сентября 2018

Я работаю с настраиваемой многоканальной камерой, которая сохраняет данные в определенном формате.Сгенерированный файл начинается с заголовка, а затем данных изображения, заголовок определяет, как следует интерпретировать данные.

Например, файл состоит из 3 каналов с заданными высотой и шириной.Каждый канал имеет свой размер кадра и должен интерпретироваться определенным количеством байтов, обычно на байт.

В настоящее время я открываю файл как 'rb', без буферизации, потому что текущие файлы, с которыми я работаюс 2-20MB.Я использую file.read (байты из заголовка) и сохраняю его в списке, который я помещаю в другой список (потому что файл может быть видеопотоком).Проблема с этим подходом состоит в том, что файл, который состоит только из 6 кадров с 3 каналами, уже занимает 14 секунд для загрузки.В конце концов я сделаю видеоплеер, где вы можете перетаскивать панель, чтобы перейти к определенному кадру или просто позволить ей играть.Однако я уже вижу проблемы с задержкой и длительным временем загрузки.

Пока что я использую Qt4, OpenCV для преобразования моих необработанных данных в изображения, numpy и matplotlib.

Есть ли лучшие подходык моей проблеме, чем просто чтение за байт?Я хочу значительно сократить время загрузки.Возможно, есть какие-то библиотеки, которые могут мне помочь, или уже существующий код.

...