Как конфертировать из YUV в CIImage для iOS

Я пытаюсь преобразовать изображение YUV в CIIMage и в конечном итоге UIImage. Я довольно новичок в этом и пытаюсь найти простой способ сделать это. Из того, что я узнал, из iOS6 YUV можно напрямую использовать для создания CIImage, но, поскольку я пытаюсь его создать, CIImage содержит только нулевое значение. Мой код такой ->

NSLog(@"Started DrawVideoFrame\n");

CVPixelBufferRef pixelBuffer = NULL;

CVReturn ret = CVPixelBufferCreateWithBytes(
                                            kCFAllocatorDefault, iWidth, iHeight, kCVPixelFormatType_420YpCbCr8BiPlanarFullRange,
                                            lpData, bytesPerRow, 0, 0, 0, &pixelBuffer
                                            );

if(ret != kCVReturnSuccess)
{
    NSLog(@"CVPixelBufferRelease Failed");
    CVPixelBufferRelease(pixelBuffer);
}

NSDictionary *opt =  @{ (id)kCVPixelBufferPixelFormatTypeKey :
                      @(kCVPixelFormatType_420YpCbCr8BiPlanarFullRange) };

CIImage *cimage = [CIImage imageWithCVPixelBuffer:pixelBuffer options:opt];
NSLog(@"CURRENT CIImage -> %p\n", cimage);

UIImage *image = [UIImage imageWithCIImage:cimage scale:1.0 orientation:UIImageOrientationUp];
NSLog(@"CURRENT UIImage -> %p\n", image);

Здесь lpData - это данные YUV, которые представляют собой массив символов без знака.

Это также выглядит интересно:vImageMatrixMultiplyНе могу найти ни одного примера по этому вопросу. Кто-нибудь может мне с этим помочь?

Ответы на вопрос(1)

Ваш ответ на вопрос