Передача видео, загруженного через django, в cv2
Я загружаю видео через django и хочу обработать его с помощью cv2. Вот как происходит доступ к видео, загруженному через django.
video_obj = request.FILES['file_name']
Далее я хочу передать его в opencv. Я не хочу сначала сохранять видео на диск, а затем получать доступ к нему через cv2, используя следующий код
cap = cv2.VideoCapture(vid_path)
Я пробовал передать этот video_obj в VideoCapture таким образом
video_obj = request.FILES['file_name']
cap = cv2.VideoCapture(video_obj)
Но я получил следующую ошибку
Can't convert object of type 'TemporaryUploadedFile' to 'str' for 'filename'
VideoCapture() missing required argument 'apiPreference' (pos 2)
Похоже, что cv2.VideoCapture
может работать только с filepath.
Поэтому для получения пути от объекта TemporaryUploadedFile
можно использовать метод temporary_file_path()
.