низкий fps с помощью cv2.VideoCapture - PullRequest
0 голосов
/ 18 января 2019

У меня низкий FPB ~ 5, я проверял этот код на разных камерах logitech c270 и logitech 9000, такая же ситуация.

Я выполнил все советы о выключении правого света и т. Д.

import urllib.request as urllib
import cv2
import numpy as np
import time

while True:

    # Use urllib to get the image and convert into a cv2 usable format
    cap = cv2.VideoCapture(0)

    width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
    hiegh = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

    ret, frame = cap.read()


    # put the image on screen
    cv2.imshow('Webcam', frame)


    if cv2.waitKey(1) & 0xFF == 27:
        break

cap.release()        
cv2.destroyAllWindows()

Что мне делать для увеличения FPS?

Ответы [ 3 ]

0 голосов
/ 18 января 2019

Попробуйте снизить разрешение. Вы можете попробовать 640x480.

пример:

cap.set(CV_CAP_PROP_FRAME_WIDTH, 640)
cap.set(CV_CAP_PROP_FRAME_WIDTH, 480)
0 голосов
/ 18 января 2019

Вам нужно переместить эту строку вверх, за пределами вашего цикла получения:

 cap = cv2.VideoCapture(0)

Выполняется однократная только инициализация.

0 голосов
/ 18 января 2019
# Use urllib to get the image and convert into a cv2 usable format
cap = cv2.VideoCapture(0)

width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
hiegh = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))

Поместите эти строки выше, пока функция.

...