Если вы собираетесь выполнить значительную обработку изображения, я предлагаю вам использовать OpenGL ES.Если это просто, например, наложение, то вы можете использовать CoreGraphics.
Вот быстрый фрагмент, чтобы добраться до пикселей.
void modifyImage(CMSampleBufferRef source) {
CVImageBufferRef imageBuffer = CMSampleBufferGetImageBuffer(source);
CVPixelBufferLockBaseAddress(imageBuffer,0);
size_t bytesPerRow = CVPixelBufferGetBytesPerRow(imageBuffer);
size_t width = CVPixelBufferGetWidth(imageBuffer);
size_t height = CVPixelBufferGetHeight(imageBuffer);
void *src_buff = CVPixelBufferGetBaseAddress(imageBuffer);
int32_t *src = (int32_t*) src_buff;
//modify the image
CVPixelBufferUnlockBaseAddress(imageBuffer, 0);
return;
}
Для хорошей отправной точки с использованием OpenGL ES для обработки видео см. Блог Брэда Ларсона .