У меня есть приложение AR, в котором вид постоянно показывает то, что видит задняя камера, и отправляет каждый кадр для анализа в VisionRequest.
Когда объект был идентифицирован, я хотел бы захватить этот конкретный последний кадри сохраните его как обычный UIImage
и отправьте его по цепочке переходов на контроллер окончательного вида, где я отображаю последний кадр.У меня проблемы с захватом последнего кадра и его отображением.
Вот что я пробовал до сих пор:
Когда изображение распознается с достаточно высокой достоверностью, я пытаюсь извлечь текущий последний кадр из CVPixelBuffer
и сохранить его влокальная переменная, которая позже передается в последующих контроллерах представления.
Это правильный способ сделать это?или мне нужно добавить второй вывод в сеанс (вывод фотографий в дополнение к выводу видеоданных)?
//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)