YUV イメージを CIIMage に変換し、最終的に UIImage に変換しようとしています。私はこれらにかなり初心者であり、それを行う簡単な方法を見つけようとしています. 私が学んだことから、iOS6 から YUV を直接使用して CIImage を作成できますが、作成しようとしているときに CIImage は nil 値しか保持していません。私のコードはこのようなものです - >
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、これに関する例は見つかりません。誰でもこれで私を助けることができますか?