Я использую hololens и пытаюсь сохранить видеопоток с доступными мировыми / проекционными матрицами.Я пытался просто сделать последовательность снимков и сохранить данные, но я не могу найти способ сохранить изображение и матрицы.
При сохранении на диск нет возможности получить фоторамку (которая содержит данные матрицы), при сохранении в память я не могу сохранить изображение на диск.Я попытался использовать следующий метод, но это, похоже, привело к сбою моей программы Unity:
List<byte> imageBufferList = new List<byte>();
photoCaptureFrame.CopyRawImageDataIntoBuffer(imageBufferList);
byte[] myArrayImage = imageBufferList.ToArray();
И затем использовал это для преобразования массива байтов:
using (MemoryStream mStream = new MemoryStream(byteArrayIn))
return Image.FromStream(mStream);
После чего я сохранял результат.
Когда я удаляю поток памяти, программа не падает (но и не сохраняет мое изображение).
Я просматривал весь интернет, но естьмного смутных утверждений об этом а) невозможно быть б) использовать поток памяти (но это не работает)
Есть предложения?Если кто-нибудь знает способ сохранить все данные матрицы (проекции и мира) для каждого кадра и соответствующий кадр для видеопотока, это было бы очень полезно.
Редактировать: я также пытался изучить https://github.com/VulcanTechnologies/HoloLensCameraStream но это, кажется, создает проблемы с более новыми версиями Unity.Любые замечания по этому поводу?
Чтобы уточнить мою конечную цель: При съемке программа должна сохранить все кадры и соответствующие матрицы, например:
Frame_01, Frame_02, Frame_03, ... ((.jpg / png /...)
World_matrix_01, World_matrix_02, ... (.txt)
Projection_matrix_01, Projection_matrix_02, ... (.txt)