我使用 192 x 144 分辨率和 420v BGRA 格式,以 25fps 的速率从 iPhone 相机抓取帧图像。
我将 CVImageBufferRef
转换为 UIImage
,然后调用 UIImageJPEGRepresenation(image, compressionQuality)
来获取压缩的 JPEG 版本图像。
使用 Instruments 中的时间分析器,我可以看到 75% 的 CPU 时间都花在获取图像的 JPEG 表示上,导致我需要在应用程序中完成的其他操作变慢。
它有一点波动,如果我将压缩设置为 1.0(即不压缩),则花费的时间较少;如果将其设置为 0.0(即完全压缩),则花费的时间较多。
是否有更有效的方法从 iPhone 相机获取图像的 JPEG 表示形式?
我可以在不将 CVImageBufferRef
转换为 UIImage
的情况下获得 JPEG 表示(从而省去相当昂贵的 Core Graphics 绘图操作)吗?
最佳答案
问题是应用程序的响应能力,还是所需的实际压缩时间?将 JPEG 代码包装在一个 block 中并将其放入后台队列怎么样?
关于iphone - iPhone 上更快、更高效的 JPEG 转换和压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3931981/