前言
Swift的CMSampleBuffer转UIImage
方法一
1 2 3 4 5 6 7 8
| func WM_FUNC_sampleBufferToImage(_ sampleBuffer:CMSampleBuffer) -> UIImage { let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer)! let ciimage = CIImage(cvPixelBuffer: imageBuffer) let context = CIContext(options: nil) let cgImage = context.createCGImage(ciimage, from: ciimage.extent)! let image = UIImage(cgImage: cgImage) return image; }
|
方法二
1 2 3 4 5 6 7 8 9
| extension CMSampleBuffer { func image(orientation: UIImage.Orientation = .up, scale: CGFloat = 1.0) -> UIImage? { if let buffer = CMSampleBufferGetImageBuffer(self) { let ciImage = CIImage(cvPixelBuffer: buffer) return UIImage(ciImage: ciImage, scale: scale, orientation: orientation) } return nil } }
|
完成
参考文献
CSDN——WMSmile