-1
在人脸跟踪系统上工作,并与OpenCV有问题。OpenCV - 摄像头分辨率
如果我实例化捕获并调用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()之前设置宽度/高度。
任何人有想法如何增加帧每秒?谢谢
它看起来像你正在为每个帧实例化一个新的捕获。显示帧的正确方法是将其初始化一次,然后在while循环或for循环中查询帧。捕获属性只需设置一次 –
您可以尝试通过CV_CAP_PROP_FPS设置摄像头的帧速率。尽管如此,为了保留带宽,当你提高分辨率时,摄像机会以较低的速度流动。 – Drodbar
嗨Erik,我只是在开始实例化它 - 我只是在每个QueryFrame()之前设置宽度/高度 - 如果我在开始时设置宽度/高度值不保留 嗨Drodbar,所以它可能是更改宽度/高度时FPS设置是否被破坏? – Ivan