работает на системе слежения за лицом и имеет проблемы с OpenCV.OpenCV - разрешение камеры
Если я создаю экземпляр Capture и вызываю QueryFrame(), я получаю разрешение изображения 640x480. Все шелковистое.
_grabber = new Capture();
_grabber.QueryFrame();
Однако, если я попытаюсь увеличить разрешение, скажем, что 800x600 fps резко уменьшится.
_grabber = new Capture();
_grabber.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FRAME_HEIGHT, LiveFeedSize.Height);
_grabber.SetCaptureProperty(CAP_PROP.CV_CAP_PROP_FRAME_WIDTH, LiveFeedSize.Width);
_grabber.QueryFrame();
Я устанавливаю ширину/высоту перед каждым QueryFrame().
У кого есть идеи по увеличению кадров в секунду? Спасибо
Похоже, вы создаете новый Capture для каждого кадра. Правильный способ отображения кадров - создать экземпляр его один раз, а затем в цикле while или for-loop запросить фреймы. Свойства захвата нужно установить только один раз –
Вы можете попробовать установить частоту кадров камеры через CV_CAP_PROP_FPS. Тем не менее, чтобы сохранить полосы пропускания, вы делаете поток с меньшей скоростью при увеличении разрешения. – Drodbar
Привет, Erik, я создаю экземпляр только в начале - я просто устанавливаю ширину/высоту перед каждым QueryFrame() - если я устанавливаю ширину/высоту при запуске, значения не сохраняются. Привет, Drodbar, так может случиться так, Изменение FPS при изменении ширины/высоты? – Ivan