我正以25fps的速度从iPhone相机抓取帧图像,分辨率为192 x 144和420v BGRA格式。
我正在将CVImageBufferRef
转换为UIImage
s,然后调用UIImageJPEGRepresenation(image, compressionQuality)
来获取图像的压缩JPEG版本。
在Instruments中使用Time Profiler,我可以看到75%的CPU时间用于获取图像的JPEG表示,导致我需要在应用程序中完成的其他操作变慢。
如果我将压缩设置为1.0(即没有压缩),并且如果我将其设置为0.0(即完全压缩)则花费更多,它会稍微波动,花费更少的时间。
是否有更有效的方法从iPhone的相机获取图像的JPEG表示?
我是否可以在不将CVImageBufferRef
转换为UIImage
的情况下获得JPEG表示(因此切断了相当昂贵的Core Graphics绘图操作)?
答案 0 :(得分:1)
关注应用程序的响应性或所需的实际压缩时间?将JPEG代码包装在一个块中并将其放在后台队列上怎么样?