我有一个AR应用程序,视图一直显示后置摄像头所看到的内容,并将每个帧发送到VisionRequest进行分析。
当识别出对象时,我想捕获该特定的最后一个帧并将其保存为常规
迄今为止,我尝试过以下方法:
当以高足够的置信度识别图像时,我尝试从
这是正确的方法吗?还是我需要向会话添加第二个输出(除视频数据输出外还有照片输出)?
当识别出对象时,我想捕获该特定的最后一个帧并将其保存为常规
UIImage
,然后将其发送到最终视图控制器中,在那里我会显示该最后一个帧。我在捕获和显示最后一个帧时遇到了问题。迄今为止,我尝试过以下方法:
当以高足够的置信度识别图像时,我尝试从
CVPixelBuffer
中检索当前的最后一个帧,并将其保存在本地变量中,稍后在segue中传递给后续的视图控制器。这是正确的方法吗?还是我需要向会话添加第二个输出(除视频数据输出外还有照片输出)?
//attempting to get the current last frame of captured video
let attachments = CMCopyDictionaryOfAttachments(allocator: kCFAllocatorDefault, target: self.currentlyAnalyzedPixelBuffer!, attachmentMode: kCMAttachmentMode_ShouldPropagate)
let ciImage = CIImage(cvImageBuffer: self.currentlyAnalyzedPixelBuffer!, options: attachments as? [CIImageOption : Any])
self.image = UIImage(ciImage: ciImage)