Как мне указать видео порт вместо неподвижного порта в opencv на Raspberry Pi? - PullRequest
0 голосов
/ 10 января 2020

Когда я использую PiCamera, у меня есть фотографии или видео. Они описывают , что между ними есть разница. Я считаю, что при непрерывной съемке кадры выполняются медленнее. Видео имеет более высокую частоту кадров.

Когда я использую VideoCapture в OpenCV, кажется, что он захватывает с той же частотой непрерывных кадров. У меня есть пример python скрипт , чтобы показать мои выводы. Я протестировал 5 секунд захвата на Sony IMX219 с разрешением 1920X1080:

  • PiCamera Видео: 146 кадров при 28,81 кадр / с Размер файла: 75 КБ
  • PiCamera Stills: 8 кадров при 1.78fps Размер файла: 12.3 МБ
  • OpenCV VideoCapture: 14 кадров при 3.12fps Размер файла: 670KB

Во всех трех случаях я пытался оптимизировать, не записывая на диск и просто записывая в память, чтобы исключить дисковый ввод-вывод.

есть другая настройка в OpenCV, которую я должен использовать, как будто это похоже на то, что делает PiCamera?

@ MarkSetchell, Настройка CAP_PROP_FPS, похоже, не имеет никакого эффекта.

@ MarkSetchell, Запуск opencv первым не делает ' не имеет значения. Я заметил это в системе, в которой даже не было установлено picamera. Однако пример сценария был обновлен.

@ MarkSetchell, cv2.getBuildInformation ()

@ MarkSetchell, если я включаю создание файла, кадры фотокамеры больше, чем opencv. Я перечислил размеры файлов выше

Означает ли это, что bcm2835_v4l2 загружен, но не используется? lsmod | grep

Module                  Size  Used by
bcm2835_v4l2           45056  0
cm2835_v4l2            45056  0
v4l2_mem2mem           24576  1 bcm2835_codec
bcm2835_mmal_vchiq     32768  2 bcm2835_codec,bcm2835_v4l2
v4l2_common            16384  1 bcm2835_v4l2
videobuf2_vmalloc      16384  1 bcm2835_v4l2
videobuf2_v4l2         24576  3 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem
videobuf2_common       45056  4 bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
videodev              200704  6 bcm2835_codec,v4l2_common,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf    2_v4l2 media                  36864  3 bcm2835_codec,videodev,v4l2_mem2mem
...