Оптимизация OpenCV FPS

Как я могу увеличить opencv видео FPS в Linux на Intel Atom? Видео кажется запаздывающим при обработке с библиотеками opencv.

Кроме того, я пытаюсь выполнить программу / файл с opencv
Система (/home/file/image.jpg);

тем не менее, он показывает доступ запрещен.

2 ответа

Есть несколько вещей, которые вы можете сделать, чтобы улучшить производительность. Использование OpenGL, графических процессоров и даже просто отключение определенных функций в OpenCV. При захвате видео вы также можете изменить FPS по умолчанию, который иногда устанавливается на низком уровне. Если вы получаете отказ в доступе к этому файлу, я бы проверил разрешения, но без установки полной ошибки, это трудно понять.

Первый - это пример отключения преобразования, а второй - установка желаемого FPS. Я думаю, что эти определения изменены в OpenCV 3, хотя.

cap.set(CV_CAP_PROP_CONVERT_RGB , false);

cap.set(CV_CAP_PROP_FPS , 60);

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

В этом случае я бы предложил несколько вещей,

  1. Используйте отдельный поток, чтобы получить кадры из VideoCapture, а затем поместить эти кадры в очередь ограниченного размера. Конечно, это приведет к отсутствию кадров, но если вы заинтересованы в обработке в реальном времени, то эта стоимость часто оправдана.
  2. Если вы используете ООП, то я могу предложить использовать отдельный поток для каждого объекта, поскольку это значительно ускоряет обработку. Вы можете увидеть увеличение в несколько раз в зависимости от приложения и используемых функций.
Другие вопросы по тегам