Конвертировать в RGBA из "CVPixelBuffer" ARKit - PullRequest
0 голосов
/ 17 апреля 2020

У меня есть случай, когда мне нужно преобразовать 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 и хотел бы узнать, как это сделать.

...