我想在 iOS 中将 yuv 420SP 图像(直接从相机捕获,YCbCr 格式)转换为 jpg。我发现的是 CGImageCreate() 函数 https://developer.apple.com/library/mac/documentation/graphicsimaging/reference/CGImage/Reference/reference.html#//apple_ref/doc/uid/TP30000956-CH1g-F17167 ,它接受一些参数,包括包含的字节数组,应该返回一些 CGImage,当输入到 UIImageJPEGRepresentation() 时,其 UIImage 返回 jpeg 数据,但这并没有真正发生 输出的图像数据与要求相去甚远。至少输出不是零。
作为 CGImageCreate() 的输入,我将每个组件的位数设置为 4,每个像素的位数设置为 12,以及一些默认值。
它真的可以将 yuv YCbCr 图像广告不仅转换为 rgb 吗?如果是,那么我认为我在 CGImageCreate 函数的输入值中做错了什么。
最佳答案
据我所知here ,CGColorSpaceRef colorspace
参数只能引用 RGB、CMYK 或灰度。
所以我认为首先您需要将 YCbCr420 图像转换为 RGB,例如,使用 IPP 函数 YCbCr420toRGB
( doc )。或者,您可以编写自己的转换例程,这并不难。
关于ios - yuv 转 jpeg iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12595003/