У меня есть случай, когда мне нужно преобразовать ARFrames (CV420YpCbCr8BiPlanarFullRange)
в CVPixelBuffer формата CV32BGRA
.
Я выяснил формат моего ARFrame и нашел код в GitHub и stackoverflow, чтобы найти функцию, которая выполняет преобразование и как с ним работать. Но я очень долго пытался найти конечный результат в нужном формате.
Вызывающая функция в ViewController
guard currentBuffer == nil,
case .normal = frame.camera.trackingState else {
return
}
if let currentFrame = sceneView.session.currentFrame{
let imageSampler = createImageSampler(from: currentFrame)
}
}
private func createImageSampler(from frame: ARFrame) -> ImageSampler? {
do {
return try ImageSampler(frame: frame)
} catch {
print("Error: Could not initialize image sampler \(error)")
return nil
}
}
Основная функция, которая преобразует.
Кодовая ссылка
Я на начальном этапе обучения в swift и хотел бы узнать, как это сделать.