У меня есть приложение для колб.Когда я запускаю его на моем компьютере, он может взять видеофайл, создать не черный эскиз, используя плавный код:
uploaded_files = request.files.getlist("file[]")
for i in uploaded_files:
......
vcap = cv2.VideoCapture(file_path)
b = io.BytesIO()
res, im_ar = vcap.read()
while im_ar.mean() < 2 and res:
res, im_ar = vcap.read()
r=cv2.resize(im_ar, size, interpolation = cv2.INTER_CUBIC)
b=cv2.imencode('.jpeg', r)[1]
s3.Bucket('MY_BUCKET').put_object(Key=MY_KEY, Body=b.tobytes(), ACL= 'public-
read',ContentType='image/jpeg', ContentDisposition= 'inline')
По какой-то причине cv2.VideoCapture () не принимает любую форму «i» какаргумент: "i.read () / i.file / etc".Кстати, может быть, вы можете помочь с этим?Поэтому я должен использовать «file_path», который может быть ссылкой или путем к локальному файлу, оба работают, когда он работает на моем компьютере.
type (vcap) = класс 'cv2.VideoCapture' тип (im_ar) = класс 'numpy.ndarray'
Но когда я запускаю точно такой же код на удаленном сервере Ubuntu, используйте тот жефайлы, я получаю это: Файл "/home/ubuntu/scanner/app/routes.py", строка 478, в b, в то время как im_ar.mean () <2 и res: AttributeError: объект 'NoneType' не имеет атрибута 'mean'</p>
OpenCV 3.4.3 FFMPEG: ДА
Как я могу это исправить?