Изменение gstreamer -pipeline для вывода RGB - PullRequest
0 голосов
/ 01 ноября 2019

Привет,

Я использую Raspberry Pi Camera v2.1 на Jetson Nano для захвата изображений с помощью gstreamer. У меня есть следующий код для gstreamer-конвейера:

def gstreamer_pipeline (capture_width=3280, capture_height=2464, display_width=1280, display_height=720, framerate=21, flip_method=0) :   
    return ('nvarguscamerasrc ! ' 
    'video/x-raw(memory:NVMM), '
    'width=(int)%d, height=(int)%d, '
    'format=(string)NV12, framerate=(fraction)%d/1 ! '
    'nvvidconv flip-method=%d ! '
    'video/x-raw, width=(int)%d, height=(int)%d, format=(string)BGRx ! '
    'videoconvert ! '
    'video/x-raw, format=(string)BGR ! appsink'  % (capture_width,capture_height,framerate,flip_method,display_width,display_height))

Теперь это выводит изображения в BGR-формате, но мне нужен RGB. Когда я пытаюсь изменить строку формата, появляется эта ошибка:

OpenCV Error: Unspecified error (GStreamer: unable to start pipeline
) in cvCaptureFromCAM_GStreamer, file /home/nvidia/build_opencv/opencv/modules/videoio/src/cap_gstreamer.cpp, line 887
VIDEOIO(cvCreateCapture_GStreamer (CV_CAP_GSTREAMER_FILE, filename)): raised OpenCV exception:

/home/nvidia/build_opencv/opencv/modules/videoio/src/cap_gstreamer.cpp:887: error: (-2) GStreamer: unable to start pipeline
 in function cvCaptureFromCAM_GStreamer

Итак, мой вопрос: как мне изменить конвейер для правильного вывода RGB? Или это невозможно при использовании аппаратной комбинации, которую я использую?

Спасибо за ответы заранее!

...