Как я могу получить необработанные данные из объекта CVImageBuffer

Я пытаюсь использовать какао для захвата изображений с веб-камеры. Я могу получить изображение в формате RGBA, используя QTKit и вызов делегата didOutputVideoFrame, а также преобразовать CVImageBuffer в CIImage, а затем в NSBitmapImageRep.

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

Мой вопрос: как я могу получить данные YUV из CVImageBuffer?

благодаря.


person jslap    schedule 14.05.2010    source источник


Ответы (2)


Возможно, вы сможете создать CIImage из буфера, используя +[CIImage imageWithCVBuffer:], а затем преобразовать этот CIImage в CGBitmapContext нужного формата пикселей.

Обратите внимание, я не тестировал это решение.

person Barry Wark    schedule 14.05.2010
comment
CIImage может напрямую захватить CVBuffer. Даже не требует блокировки базового адреса - person Cameron Lowell Palmer; 11.01.2015
comment
@ Барри Уорк, есть совет? stackoverflow.com/questions/37611593 / - person Gaojin Hsu; 07.06.2016

Я задал то, что, по моему мнению, было другим вопросом, но оказалось, что он имеет тот же ответ, что и этот: rendering/5630737#5630737">необработанные данные из CVImageBuffer без рендеринга?

person jab    schedule 13.04.2011