Создать изображение из UIView с видеопотоком - PullRequest
0 голосов
/ 02 августа 2020

Я реализовал DJI Mobile SDK, который может передавать видео с дрона. SDK принимает UIView в качестве параметра для рисования видео (возможно, он использует OpenGL в фоновом режиме для рисования видеокадров внутри UIView)

Мне нужно получить каждый кадр из этого видео как CIImage для Vision Kit, но Я не знаю, как кодируется видео и т. Д. c .. Я попытался создать "снимок экрана" этого UIView, но безуспешно. Снимок экрана не содержит видео.

Как я могу создать "необработанный" снимок экрана любого UIView с каким-нибудь рисунком низкого уровня? Спасибо.

1 Ответ

0 голосов
/ 14 августа 2020

Примерно так вытащит снимок экрана из верхнего UIView.

    //Take Screenshot
    let screenshot = self.view?.pb_takeSnapshot()
    
    //Save Image
    UIImageWriteToSavedPhotosAlbum(screenshot!, self, #selector(image(_:didFinishSavingWithError:contextInfo:)), nil)

    guard let ciImage = CIImage(image: screenshot!) else {
        fatalError("couldn't convert uiimage to CIImage")
    }
    detect(image: ciImage)
...