我目前正在Swift中开发一个应用程序,该应用程序将为我提供通过它的每个帧的平均色相值。 我已经设法通过CIImage捕获了视频的每一帧,但一直停留在问题的实际图像处理部分。
这是捕获框架的代码的一部分。
private func imageFromSampleBuffer(sampleBuffer: CMSampleBuffer) -> UIImage? {
guard let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return nil }
let ciImage = CIImage(cvPixelBuffer: imageBuffer)
guard let cgImage = context.createCGImage(ciImage, from: ciImage.extent) else { return nil }
return UIImage(cgImage: cgImage)
}
任何想法如何开始?我曾考虑过将整个帧转换为HSV,然后从那里获取平均值,但是我为此找到的解决方案非常缓慢。 谢谢!