Невозможно сделать видео из массива numPyy - PullRequest
0 голосов
/ 08 мая 2020

Если у меня есть переменная, тип которой - массив numpy. Как я могу преобразовать его в видео. Это огромный массив numpy, поэтому я бы рекомендовал его на go вниз, вы используете полосу прокрутки справа. Я получил массив numpy от захвата моего собственного видео, а затем получил его массив

Когда я запускаю код, открывается и немедленно закрывается окно, а также выводится сообщение об ошибке:

cv2.error: OpenCV (4.2.0) C: / projects / opencv-python / opencv / modules / highgui / src / precomp.hpp: 137: ошибка: (-215: утверждение не выполнено) src_depth! = CV_16F && src_depth ! = CV_32S в функции 'convertToShow'

'cv2.error:' не распознается как внутренняя или внешняя команда,

действующая программа или командный файл.

Как код был слишком длинным из-за длинного массива numpy это ссылка на файл диска Google: https://drive.google.com/file/d/1v1ZQT7W3XbzcmT5oaPTAQ3hYJ94TJUCH/view?usp=sharing

Вот структура кода:

import cv2 , time , numpy
frame = numpy.asarray(the long list which was too large so i could not pate it here. see it with the link above)

while True:

    # check, frame = video.read()
    # print(check)
    # print(type(frame))
    # grey = cv2.cvtColor(frame , cv2.COLOR_BGR2GRAY)
    #time.sleep(3)
    cv2.imshow("capturing" , frame)
    cv2.waitKey(0)
    key = cv2.waitKey(1)
    if key==ord('q'):
       break

Пожалуйста, помогите мне с этим ..

1 Ответ

0 голосов
/ 09 мая 2020

Проблема может быть решена путем преобразования изображения в формат uint8. Следующий код работал у меня с вашим изображением.

    import cv2 , time , numpy
    frame = numpy.asarray(the long list which was too large so i could not pate it here. see it with the link above)

         while True:

                # check, frame = video.read()
                # print(check)
                # print(type(frame))
                # grey = cv2.cvtColor(frame , cv2.COLOR_BGR2GRAY)
                time.sleep(3)
                frame = frame.astype(numpy.uint8)
                cv2.imshow("capturing" , frame)
                cv2.waitKey(0)
                key = cv2.waitKey(1)
                if key==ord('q'):
                   break
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...