Slide 40
Slide 40 text
func captureImage(sampleBuffer: CMSampleBuffer) -> UIImage {
let imageBuffer: CVImageBuffer =
CMSampleBufferGetImageBuffer(sampleBuffer)!
CVPixelBufferLockBaseAddress(imageBuffer,
CVPixelBufferLockFlags(rawValue: 0))
let baseAddress: UnsafeMutableRawPointer =
CVPixelBufferGetBaseAddressOfPlane(imageBuffer, 0)!
let bytesPerRow: Int = CVPixelBufferGetBytesPerRow(imageBuffer)
let width:Int = CVPixelBufferGetWidth(imageBuffer)
let height:Int = CVPixelBufferGetHeight(imageBuffer)
let colorSpace: CGColorSpace = CGColorSpaceCreateDeviceRGB()
let newContext: CGContext = CGContext(data: baseAddress, width: width,
height: height, bitsPerComponent: 8, bytesPerRow: bytesPerRow, space:
colorSpace, bitmapInfo: CGImageAlphaInfo.premultipliedFirst.rawValue|
CGBitmapInfo.byteOrder32Little.rawValue)!
let imageRef: CGImage = newContext.makeImage()!
let resultImage = UIImage(cgImage: imageRef, scale: 1.0, orientation:
UIImageOrientation.right)
return resultImage
}