Как сохранить YUV420P/YCbCr в формате JPEG

Это более общий вопрос, но я мог бы использовать несколько практических ответов, у меня есть три буфера как плоскости YUV. Это результат работы моей камеры. Мне не хватает знаний о том, как сохранить эти буферы для создания единого изображения: желательно JPEG или других сжимаемых форматов. В Интернете я обнаружил, что мы можем комбинировать их вплотную друг к другу, чтобы создать единый массив, но если нам нужно это сделать, то какова цель его планарности? Кроме того, даже если я это сделаю, я не знаю, каков следующий шаг в плане кодирования. Когда я пытаюсь сохранить изображение как YCbCr (я не знаю, есть ли это), это не позволяет мне сделать это, используя приведенный ниже код.

img = Image.open(io.BytesIO(data))
img.save("ycbcr.jpg"

Итак, я предполагаю, что должен что-то сделать с форматом. Я прочитал, что мне нужно учитывать шаг и все такое, но я не знаю, как это сделать с точки зрения кода. Я использую C#/Python.

Также я знаю, что большинство JPEG-файлов сделаны из YCbCr вместо RGB, почему я не могу просто сохранить массив, чтобы сделать его изображением?

Любая помощь приветствуется! Я работаю над этим довольно давно.

0 ответов

Другие вопросы по тегам