私はAVCaptureVideoDataOutput
と協力しており、CMSampleBufferRef
をUIImage
に変換したいと考えています。多くの回答がこのUIImage created from CMSampleBufferRef not displayed in UIImageView?とAVCaptureSession with multiple previewsYUVの色空間でCMSampleBufferRefをUIImageに変換しますか?
私はBGRAにVideoDataOutput色空間を設定した場合、それは正常に動作しますが、上記のvideoSettingsなし
NSString* key = (NSString*)kCVPixelBufferPixelFormatTypeKey;
NSNumber* value = [NSNumber numberWithUnsignedInt:kCVPixelFormatType_32BGRA];
NSDictionary* videoSettings = [NSDictionary dictionaryWithObject:value forKey:key];
[dataOutput setVideoSettings:videoSettings];
(この答えCGBitmapContextCreateImage errorに入金)のように、同じですが、私が受け取ることになりますBGRAにYUV(デフォルトAVCaptureSession色空間)からの変換のオーバーヘッドがあるので、ブラッドとCodo iで述べたように、次のエラーBGRAでの作業
CGBitmapContextCreate: invalid data bytes/row: should be at least 2560 for 8 integer bits/component, 3 components, kCGImageAlphaPremultipliedFirst.
<Error>: CGBitmapContextCreateImage: invalid context 0x0
は、良い選択ではありませんn How to get the Y component from CMSampleBuffer resulted from the AVCaptureSession?
CMSampleBufferRef
をUIImage
に変換し、YUVカラースペースで作業する方法はありますか?
このため、任意のソリューションとして設定されている場合
UIImage
にCMSampleBufferRef
を変換するためのコードを共有するので? –@AdarshVCあなたはそれをより顕著にするために質問に投票してみませんか? – onmyway133
この質問を確認する@stackoverflow.com/questions/3305862/uiimage-created-from-cmsamplebufferref-not-displayed-in-uiimageview –