Использование видео подачи DJI с структурой зренияIOS

Программируем под IOS
Ответить
Anonymous
 Использование видео подачи DJI с структурой зрения

Сообщение Anonymous »

Я работаю над приложением, которое использует видео -канал из DJI Mavic 2 и запускает его через модель машинного обучения для идентификации объектов. Apple как руководство для создания моей модели (которая работает!), Но, похоже, мне нужно создать объект vnimagerequesthandler , который создается с помощью cvpixelbuffer типа cmasamplebuffer для использования Vision .
Любая идея, как сделать это преобразование? Есть ли лучший способ сделать это? < /P>

Код: Выделить всё

class DJICameraViewController: UIViewController, DJIVideoFeedListener, DJISDKManagerDelegate, DJICameraDelegate, VideoFrameProcessor {

// ...

func videoFeed(_ videoFeed: DJIVideoFeed, didUpdateVideoData rawData: Data) {
let videoData = rawData as NSData
let videoBuffer = UnsafeMutablePointer.allocate(capacity: videoData.length)
videoData.getBytes(videoBuffer, length: videoData.length)
DJIVideoPreviewer.instance().push(videoBuffer, length: Int32(videoData.length))
}

// MARK: VideoFrameProcessor Protocol Implementation
func videoProcessorEnabled() -> Bool {
// This is never called
return true
}

func videoProcessFrame(_ frame: UnsafeMutablePointer!) {
// This is never called
let pixelBuffer = frame.pointee.cv_pixelbuffer_fastupload as! CVPixelBuffer

let imageRequestHandler = VNImageRequestHandler(cvPixelBuffer: pixelBuffer, orientation: exifOrientationFromDeviceOrientation(), options: [:])

do {
try imageRequestHandler.perform(self.requests)
} catch {
print(error)
}
}
} // End of DJICameraViewController class
edit : Из того, что я собрал из документации DJI (Spotty), выглядит так, как будто видео -канал сжат H264. Они утверждают, что djiwidget включает в себя вспомогательные методы декомпрессии, но я не имел успеха в понимании того, как их правильно использовать, потому что нет документации, связанной с его использованием. Дополнительные методы для VideoFrameProcessor , удаление старого кода из VideoFeed Метод
Редактировать 4 : подробности о том, как успешно извлечь буфер пикселя и использовать его, можно найти в этом комментарии, с тех пор, как это было все еще, с тех пор, как это было все еще, с тех пор, как это было все еще. Здесь, вот соответствующая суть, которую я создал, чтобы помочь другим. Я не могу вспомнить, как/почему это было актуально, но, надеюсь, это имеет смысл!

Подробнее здесь: https://stackoverflow.com/questions/523 ... -framework
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»