Как создать CGImage из CVPixelBuffer? - PullRequest
0 голосов
/ 10 июля 2020

У меня есть простая функция для создания CGImage из CVPixelBuffer:

if let buffer = (results as? [VNPixelBufferObservation])?.first {
    let pixelBuffer = buffer.pixelBuffer
    let ciImage = CIImage(cvPixelBuffer: pixelBuffer)
    let resultImage = UIImage(ciImage: ciImage)
    return resultImage.cgImage //returns nil
}

Но она возвращает nil. Почему?

1 Ответ

0 голосов
/ 10 июля 2020

Попробуйте это

import VideoToolbox
func createImage(from pixelBuffer: CVPixelBuffer) -> CGImage? {
    var cgImage: CGImage?
    VTCreateCGImageFromCVPixelBuffer(pixelBuffer, options: nil, imageOut: &cgImage)
    return cgImage
}
...