Как получить отдельные компоненты Y, U, V из предварительного просмотра камеры Android? - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь выяснить, как получить значения компонента YUV, чтобы у меня было:

  • массив значений только для компонента Y
  • массив значений только для компонента U
  • массив значений только для компонента V.

У меня есть данные byte[], возвращенные из обратного вызова предварительного просмотра камеры Android, который установлен с помощью setPreviewCallback() API. Формат предварительного просмотра камеры установлен на ImageFormat.NV21.

Куда мне идти отсюда? Я видел схемы расположения YUV420, но я все еще не могу связать их с byte[], который я получаю от обратного вызова предварительного просмотра. Как рассчитать, где заканчиваются значения Y и начинаются значения UV?

Пока что я только что создал YuvImage объект, но я не знаю, куда идти:

YuvImage yuvImage = new YuvImage(data, ImageFormat.NV21, preview.getWidth(), preview.getHeight(), null);

Обратите внимание, что я не использую api camera2.

...