Проблемы с масштабированием изображения в Gstreamer-pipe - PullRequest
0 голосов
/ 11 января 2020

Здравствуйте,

У меня проблемы с использованием конвейера Gstreamer и модуля камеры RPi v2.1 для правильной съемки изображений. Мой конвейер определен так:

def gstreamer_pipeline(capture_width=720, capture_height=405, 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))

Когда я, как в этом примере, устанавливаю меньший размер захвата, чем размер дисплея, выдается ошибка. Хотя эта настройка мне необходима, потому что я хочу снимать изображения в низком разрешении и все еще хочу видеть их в большом большом окне. Я избегаю метода уменьшения каждого кадра, я уверен, что у этого есть более эффективное решение. Если кто-то знает, что делать, пожалуйста, поделитесь?

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

1 Ответ

0 голосов
/ 12 января 2020

appsink сам ничего не отображает. Так какой у вас метод отображения? В общем, если вы не хотите масштабировать в своем конвейере GStreamer то, что отображает ваши данные, это отвечает за масштабирование. Обычно это делается в контексте графического процессора GUI фреймворка, такого как Gtk / Qt.

...