Мы создаем UIImage из буфера, используя следующий код
let context = CGContext(data: baseAddress, width: frameWidth, height: frameHeight, bitsPerComponent: 8, bytesPerRow: bytesPerRow, space: colorSpace, bitmapInfo: bitmapInfo.rawValue)!
let cgImage0 = context.makeImage()
let uiImage0 = UIImage(cgImage: cgImage0!)
Проблема в том, что мы можем создать буфер цветного изображения, используя AVCaptureVideoDataOutput () только с форматом kCVPixelFormatType_32BGRA, который наиболее похож на формат kCVPixelFormatType_32RGBA
В какой-то момент нам понадобится UIImage, и нам нужно было преобразовать буфер в UIImage, а из-за того, что UIImage - это форматированные цвета RGBA, стали искаженными.
Как мы можем получить UIImage из буфера в формате kCVPixelFormatType_32RGBA.