6
Come posso convertire un CVPixelBufferRef in un NSImage o CGImageRef? Devo essere in grado di visualizzare il contenuto del buffer dei pixel in un Core Animation Layer.CVPixelBufferRef to NSImage
Come posso convertire un CVPixelBufferRef in un NSImage o CGImageRef? Devo essere in grado di visualizzare il contenuto del buffer dei pixel in un Core Animation Layer.CVPixelBufferRef to NSImage
Per convertire il buffer in un'immagine, è necessario prima convertire il buffer in uno CIImage
, che può quindi essere convertito in NSImage
.
let ciImage = CIImage(cvImageBuffer: pixelBuffer)
let context = CIContext(options: nil)
Da qui si può andare a entrambi GCImage
e NSImage
:
let width = CVPixelBufferGetWidth(pixelBuffer)
let height = CVPixelBufferGetHeight(pixelBuffer)
let cgImage = context.createCGImage(ciImage, from: CGRect(x: 0, y: 0, width: width, height: height))
let nsImage = NSImage(cgImage: cgImage, size: CGSize(width: width, height: height))