后出现了无错误的错误
我需要提取物理摄像头看到的帧(不添加scnscene),同时配置了arworldTrackingConfiguration。我是iOS的新手,所以也许我缺少一些东西,但我无法做到这一点。对如何做到这一点的任何帮助。
我尝试使用
提取提取var buffer = self.sceneView.session.currentFrame?.capturedImage
在我的arscnview中,我认为这会给我ycbcr中的图像
然后,我尝试使用 转换为RGBlet ciImage = CIImage(cvPixelBuffer: buffer)
let context = CIContext(options: nil)
let cgImage = context.createCGImage(ciImage, from: ciImage.extent)
let uiImage = UIImage(cgImage: cgImage!)
,但在调用PixelBufferTouiimage()
您可以使用此功能将ARSCNView转换为UIImage
:
func imageFrom(scene:ARSCNView) -> UIImage {
UIGraphicsBeginImageContextWithOptions(scene.bounds.size, scene.isOpaque, 0.0)
scene.drawHierarchy(in: scene.bounds, afterScreenUpdates: false)
let image = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return UIImage(cgImage: (image?.cgImage)!)
}
用法:
@IBOutlet var sceneView: ARSCNView!
override func viewDidLoad() {
super.viewDidLoad()
let convertedToImage = imageFrom(scene: sceneView)
// Do something with convertedToImage
}