簡體   English   中英

我想將CIImage轉換為UIImage但失敗了

[英]I want to convert a CIImage to UIImage but failed

我有一個格式為kCVPixelFormatType_420YpCbCr8BiPlanarFullRangeYCC420fN12 )的CIImage,現在我想看看圖像是什么樣的,所以我把它轉換為UIImage使用這個方法:

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紋理的地址。

現在,我該怎么辦?

只是一行簡單的代碼(可從IOS 5.0獲得)

UIImage * uiImage = [[UIImage alloc] initWithCIImage:ciImage];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM