Передача видео, загруженного через 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().

Вернуться на верх