美文网首页
CMSampleBuffer To UIImage

CMSampleBuffer To UIImage

作者: woo_5857 | 来源:发表于2020-12-24 09:22 被阅读0次

func sampleBufferToImage(_ sampleBuffer: CMSampleBuffer) -> UIImage? {

        guard let imageBuffer = CMSampleBufferGetImageBuffer(sampleBuffer) else { return nil }

        CVPixelBufferLockBaseAddress(imageBuffer, CVPixelBufferLockFlags(rawValue: 0))

        letbaseAddress =CVPixelBufferGetBaseAddress(imageBuffer)

        letbytesPerRow =CVPixelBufferGetBytesPerRow(imageBuffer)

        letwidth =CVPixelBufferGetWidth(imageBuffer)

        letheight =CVPixelBufferGetHeight(imageBuffer)

        let colorSpace = CGColorSpaceCreateDeviceRGB()

        let bitmapInfo = CGBitmapInfo(rawValue: CGImageAlphaInfo.noneSkipFirst.rawValue | CGBitmapInfo.byteOrder32Little.rawValue)

        guardletcontext =CGContext(data: baseAddress,

                                      width: width,

                                      height: height,

                                      bitsPerComponent:8,

                                      bytesPerRow: bytesPerRow,

                                      space: colorSpace,

                                      bitmapInfo: bitmapInfo.rawValue)else{returnnil}

        guardletcgImage = context.makeImage()else{returnnil}

        CVPixelBufferUnlockBaseAddress(imageBuffer,CVPixelBufferLockFlags(rawValue: 0));

        returnUIImage(cgImage: cgImage)

    }

相关文章

网友评论

      本文标题:CMSampleBuffer To UIImage

      本文链接:https://www.haomeiwen.com/subject/zprbnktx.html