3
私はフォーマットkCVPixelFormatType_420YpCbCr8BiPlanarFullRange
(YCC420f
またはN12
)とのCIImageを持っていなかったので、私はこの方法を使用UIImageに変換します私はUIImageにCIImageを変換したいが、私はイメージがどのように見えるかを確認したい今、
CIImage *ciImage = [CIImage imageWithCVPixelBuffer:new_buffer];
CIContext *temporaryContext = [CIContext contextWithOptions:nil];
CGImageRef videoImage = [temporaryContext
createCGImage:ciImage
fromRect:CGRectMake(0, 0,
CVPixelBufferGetWidth(new_buffer),
CVPixelBufferGetHeight(new_buffer))];
UIImage *uiImage = [UIImage imageWithCGImage:videoImage];
画像のフォーマットがBGRA
である場合には、正常に動作していますが、NV12
ために、コンソールのエラーメッセージではありません:
Render failed because a pixel format YCC420f is not supported.
はところで、ciimageはCVPixelBufferRefから来ている、とCVPixelBufferRef GLテクスチャのアドレスに由来する。
ここで、どうすればよいですか?
使用UIImage * uiImage = [[UIImage alloc] initWithCIImage:ciImage]; imageWithCGImage: – AleyRobotics
@Yuri同じ問題。そして、CIImage-> CGImageRef-> UIImageが良いです、imageWithCIImageはエラーメッセージなしで 'nil'を返します。 –
作品形式ios 7:UIImage * uiImage = [[UIImage alloc] initWithCIImage:ciImage]; – Adeel