python opencv display gstreamer videotestsrc - PullRequest
       49

python opencv display gstreamer videotestsrc

0 голосов
/ 17 октября 2019

Мне нужно использовать gstreamer для доставки данных в некоторые системы классификации и глубокого изучения opencv / cuda. ​​

Проблема в том, что я новичок в gstreamer и cuda, поэтому мне нужно сделать нескольконесколько простых примеров, которые объединяют как можно меньше элементов - здесь OpenCV и Gstreamer.

Теперь я хочу, чтобы gstreamer доставлял "videotestsrc pattern = ball" в cv2.imshow () кадр за кадром

Проблема в том, что я не могу открыть элемент cv2.VideoCapture () - правильно, потому что конвейер неверен

Я провел несколько часов и "сдался"

OpenCv v3.4.0 - Скомпилировано с поддержкой gstreamer Python - 3.6.8

Это код, который у меня сейчас есть -

Я гуглил и гуглил и перепробовал множество конвейеровкомбинация, но ничто не позволяет мне открыть элемент видеозахвата

#!/usr/bin/env python3
import cv2

cap = cv2.VideoCapture("videotestsrc ! video/x-raw,framerate=20/1 ! appsink", cv2.CAP_GSTREAMER)

# Commentet out to continiue to capture
# Evaluates true => app closes
#if not cap.isOpened():
#    print('VideoCapture not opened')
#    exit(0)

while(True):
    ret, frame = cap.read()
    print(ret)     # 'False' when run
    print(frame)   # 'None' when run

    cv2.imshow('frame',frame)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

cap.isOpened () возвращает false

cap.read () возвращает false, Нет

...