Swift:如何处理来自CVPixelBuffer的深度数据以使其可在opencv中处理?

问题描述 投票:0回答:1

我正在做一个与从iPhone11的前置摄像头传输的深度数据有关的投影。当我使用以下代码从CVPixelBuffer-> CIImage-> UIImage转换深度数据时,它在UIImageView中显示良好。

    func depthDataOutput(_ output: AVCaptureDepthDataOutput, didOutput depthData: AVDepthData, timestamp: CMTime, connection: AVCaptureConnection) {
        guard (output == depthDataOutput) else {
            // Ignoring unknown depth data output
            return
        }
        let pixelBuffer:CVPixelBuffer = depthData.depthDataMap
        let image = CIImage(cvPixelBuffer: pixelBuffer)
        var displayImage = UIImage(ciImage: image)
        DispatchQueue.main.async {
            self.preview.image = displayImage //preview is UIImageView
        }
    }

但是如何将深度数据传递给OpenCV,我尝试在之前显示的代码中传递UIImage并在OpenCV中使用UIImageToMat,但是失败了,因为UIImageMat似乎要求UIImage具有颜色空间,虽然没有颜色空间。因此,我还能做什么?

swift opencv depth
1个回答
0
投票

我一直遇到同样的问题。

© www.soinside.com 2019 - 2024. All rights reserved.